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

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

DEN888

#1
Приветствую

Подскажите пожалуйста как правильно сохранить, через 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

#2
вроде бы получилось :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
может есть лучше варианты?
 

hosm

* so what *
18.05.2009
2 442
6
#3
Если не юзаются дальше, то вполне можно убрать строки Dim db As NotesDatabase Set db = session.CurrentDatabase
и можно вместо o.Name брать o.Source
 
Статус
Закрыто для дальнейших ответов.