Сохранение документа на диск

Автор Тема: Сохранение документа на диск  (Прочитано 6331 раз)

K85

  • Старший специалист
  • ****
  • Сообщений: 127
  • http://nick-name.ru/sertificates/727639/
    • Просмотр профиля
Сохранение документа на диск
« : 06 Декабрь 2010, 18:47:19 »
Помогите, пожалуйста, разобраться
Необходима кнопка в базе, при нажатии которой документ сохранялся на диске
@Command([FileExport]; fileType ; c:\\temp.txt )не подходит тем, что пользователю необходимо указывать путь сомастоятельно, да и называть файл самому

Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set stream = session.CreateStream

filename$ = "c:\temp" & "dxl"

If Not stream.Open(filename$) Then
Messagebox "Cannot open " & filename$,, "Error"
Exit Sub
End If
Call stream.Truncate

Set exporter = session.CreateDXLExporter
Call exporter.SetInput(doc)
Call exporter.SetOutput(stream)
Call exporter.Process
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set doc = session.documentcontext
Dim col As NotesDocumentCollection
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set col = db.UnprocessedDocuments
Call exporter.SetInput(doc)
Call exporter.SetInput(col)

End Sub
Так создается документ, но мне не подходит то как он заполняется
Если делаю так, то почему-то файлы и не создаются, хотя пишет, что файлы созданы, да и в дебагере вроде все прохожу нормально
Dim session As New NotesSession
Dim db As NotesDatabase
Dim strm As NotesStream
Dim doc As NotesDocument
Dim col As Notesdocumentcollection
Dim i As Integer
Dim ex As NotesDXLExporter
i = 0
Set db = session.CurrentDatabase
Set col=db.UnprocessedDocuments
Set doc = col.GetFirstDocument
While i < db.UnprocessedDocuments.Count
Set strm=session.CreateStream
file$="с:\test\Document" & i+1 & ".xml"
Call strm.Open(file$)
Call strm.Truncate
Set ex = session.CreateDXLExporter(doc ,strm)
i = i + 1
Call ex.Process
Call strm.Close
Set doc=col.GetNextDocument(doc)
Wend
Messagebox"Созданно " & i & " xml файла"

Помогите понять в чем проблема в последнем или как переделать первый код, чтобы он был похож по содержанию на обычный экспорт (встроенный)

ViV

  • Global Moderator
  • Профессионал
  • *****
  • Сообщений: 1428
  • Владимир Егоров
    • Просмотр профиля
    • lotusnotes.ru
    • E-mail
Re: Сохранение документа на диск
« Ответ #1 : 08 Декабрь 2010, 10:12:36 »
Для возможности работы с файлом в свойствах агента установлено "Allow restricted operations"?

Чтобы получить привычный файл, его лучше самому формировать: поочередно, с помощью NotesViewEntry получать значения ячеек и записывать в файл.