• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Сохранение вложений документа

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

DEN888

Приветствую

Подскажите пожалуйста как правильно сохранить, через LS вложения поля (Body) текущего документа.

нашел через Help пример

Код:
Dim doc As NotesDocument
Dim rtitem As Variant
Dim fileCount As Integer
Const MAX = 100000
fileCount = 0	
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) _
And ( o.FileSize > MAX ) Then
fileCount = fileCount + 1
Call o.ExtractFile _
( "c:\reports\newfile" & Cstr(fileCount) )
Call o.Remove
Call doc.Save( True, True )
End If
End Forall
End If

Данный код указал в действии формы, при нажатии на кнопку выходит ошибка:
"Переменная объекта не задана."

PS: В LS новенький, прошу демонстрационный пример, заранее спасибо
 
D

DEN888

вроде бы получилось :rolleyes:

Код:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim Pdoc As NotesDocument
Set db = session.CurrentDatabase
Set Pdoc = workspace.CurrentDocument.Document

Set rtitem = Pdoc.GetFirstItem( "Body" ) 
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile ("C:\reports\" & o.Name)	 
End If
End Forall	 
End If
End Sub

может есть лучше варианты?
 
H

hosm

Если не юзаются дальше, то вполне можно убрать строки Dim db As NotesDatabase Set db = session.CurrentDatabase
и можно вместо o.Name брать o.Source
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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