• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Нужна Помощь В Открытии Файла Из Lotus

  • Автор темы AnnaS
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

AnnaS

Добрый день, проблема в следующем:
необходимо выгрузить из РК Лотуса файлы и открыть только файлы с определенным расширением. возможно ли это?
чтобы выгрузить файлы
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">прописала вот так:</div></div><div class="sp-body"><div class="sp-content">
Код:
Sub Initialize

Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim body As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim att As NotesEmbeddedObject
Dim stream As NotesStream
Dim fileNum As Integer
Dim fileName As String

Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
If Not doc.HasEmbedded Then Exit Sub
Set body = doc.GetFirstItem(\"Body\")
Set rtnav = body.CreateNavigator
Set stream = session.CreateStream

If rtnav.FindFirstElement(RTELEM_TYPE_FILEATTACHMENT) Then
Do
Set att = rtnav.GetElement()
filepath$ = \"C:\\Users\\Desktop\\На подпись\\\" & att.Source
Call att.ExtractFile(filepath$)
Print filepath$ & \" extracted\"
Loop While rtnav.FindNextElement()
End If
Выгружает. А вот как открыть именно файлы с нужным расширением не знаю.нужно только запустить файл с этим расширением из моей папки \"На подпись\" на Раб.столе. Если кто-то может помочь, прошу откликнуться, ибо не являюсь программистом и создаю вторую неделю методом \"тыка\".
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
Если ОС windows, то попробуй:
Код:
res = Shell("rundll32 url.dll,FileProtocolHandler " & fileName, 4)
fileName - полный путь к файлу
Гарантию, что все будет работать правильно не дам.

Добавлено: а про расширение...
att.Source полагаю строка, значит анализируй последние 3 символа и если они не нужные, то не выгружай такой файл...
что-то вроде:
Код:
Do
Set att = rtnav.GetElement()
if lcase(right(att.Source,3)) = "doc" then
filepath$ = "C:\Users\Desktop\На подпись\" & att.Source
Call att.ExtractFile(filepath$)
Print filepath$ & " extracted"
res = Shell("rundll32 url.dll,FileProtocolHandler " & filepath$, 4)
end if
Loop While rtnav.FindNextElement()
 
A

AnnaS

ОС windows
благодарю.
файл с нужным расширением выгружает.все хорошо.
теперь надо его запустить. или открыть.
этот файл у меня дальше сам отрабатывает, его только нужно из лотуса открыть.вот как открыть или запустить не знаю
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
shell же или не помогло?
Что за файл? Exe? bat?

Добавлено: Посмотрите в трее или на панели задач. 4 - открыть без фокуса
 
A

AnnaS

shell же или не помогло?
Что за файл? Exe? bat?

Добавлено: Посмотрите в трее или на панели задач. 4 - открыть без фокуса


файл подписи с расширением p7s.
открыть не помогло.
может,не так пояснила. в общем, нужно, чтобы выгрузил все файлы (это он у меня делает),
а затем нужно, чтобы файл с расширением p7s открылся.
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
а двойным кликом открывается у вас?
Написано, что можно Outlook'ом открыть. Может ПО необходимое не установлено?
Файл с расширением p7s представляет собой e-mail сообщение, содержащее цифровую подпись. Используется для безопасной отправки электронных писем, которые может просмотреть только получатель.

Данный метод отправки удостоверяет отправителя и подтверждает, что письмо не было изменено в процессе передачи. Если почтовая программа не поддерживает цифровую подпись, то файл P7S может появиться в виде вложения (smime.p7s) в сообщение электронной почты.

E-mail клиенты, которые используют формат файлов P7S, пользуются стандартом PKCS (Public-Key Cryptography Standard) #7 для подписи сообщений электронной почты.
 
A

AnnaS

а двойным кликом открывается у вас?
Написано, что можно Outlook'ом открыть. Может ПО необходимое не установлено?
<tag thing='Раскрывающийся Текст'></tag>


Почти всё получилось! последнее:
надо , чтобы в этой строке if lcase(right(att.Source,3)) = "doc" then
выбрал не только doc, но и например,docx.
подскажите,как сделать два значения. и тот,и другой.чтобы оба выгружались.
каким оператором или функцией?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
177
заменить
Код:
if lcase(right(att.Source,3)) = "doc" then
на
Код:
if lcase(right(att.Source,3)) = "doc" or lcase(right(att.Source,4)) = "docx" then
Еще есть более интересный ход:
Код:
Select case lcase(StrRightBack(att.Source,{.}))
Case "doc","docx":
filepath$ = "C:\Users\Desktop\На подпись\" & att.Source
...
Case else:
end select
Добавляя расширения в строку Case "doc","docx" через запятую можно указать еще форматы
 
A

AnnaS

Почти всё получилось! последнее:
надо , чтобы в этой строке if lcase(right(att.Source,3)) = "doc" then
выбрал не только doc, но и например,docx.
подскажите,как сделать два значения. и тот,и другой.чтобы оба выгружались.
каким оператором или функцией?



все работает! спасибо!результата добилась!
тему можно закрыть.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!