Lotus на практике. Как скопировать вложения из документа

О чем этот текст?

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

Основная часть

Dim session As NotesSession
Dim session1 As NotesSession
Dim db As NotesDatabase
Dim db1 As NotesDatabase
Dim nview As NotesView
Dim doc As NotesDocument
Dim resultdoc NotesDocument
Dim rtitem As Variant
Dim nitem As NotesItem

Set session = New notessession
Set session1 = New notessession
Set db=session.CurrentDatabase
Set db1=session1.GetDatabase("","resultbase.nsf")

REM Задаем View в которое отобрали нужные документы

Set nview=db.GetView("MyView")

REM Устанавливаем указатель документа на первый из вью
Set doc=nview.GetFirstDocument

While Not doc Is Nothing

REM создаем новый документ в другой базе
Set resultdoc= New NotesDocument( db1 )

REM берем тело письма и загоняем в richtext
REM с текстом и всеми вложениями. В письме нужное поле
REM называется Body

Set rtitem = doc.GetFirstItem( "Body" )

REM присваиваем имя формы для нового документ.
REM Форма должна существовать.

resultdoc.Form="MyForm"

REM ищем в этом документе вложения

If(doc.HasEmbedded) Then
Forall o In rtitem.EmbeddedObjects

If ( o.Type = EMBED_ATTACHMENT ) Then
REM Если находим, то перегоняем его

Set nitem = New NotesItem( resultdoc, "SBody", o.Object)

End If
End Forall
End If

REM копируем имеющийся MBody в новый документ
Call rtitem.copyitemtodocument( resultdoc, "SBody" )

REM сохраняем новый документ в новой базе
Call resultdoc.Save(True,False)

Set doc=nview.GetNextDocument(docx)

Wend

Примечание: Этот код работает не только по кнопке, но и в агенте.

Автор: Joe1000




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика