лотос отмечает автоматизацию

Можно ли автоматизировать Lotus Notes для публикации локального файла в базе данных? У меня есть ежедневная задача - разместить файл журнала в базе данных заметок. Я могу собрать файл журнала с помощью скрипта, но недостаточно знаю о скриптах для заметок, чтобы понять это.

Я знаю, что это com-интерфейс, пока у меня есть клиент на ПК, но я не могу понять, как загрузить файл в базу данных. Я могу использовать либо vbscript, либо (предпочтительно) powershell


person Jim B    schedule 12.01.2010    source источник


Ответы (1)


Если вы поищете в сети, вы найдете примеры использования VBScript для управления Lotus Notes. Вот один пример: http://haveworld.blogspot.com/2006/10/vbscript-and-lotus-notes.html

Однако вам нужно будет немного узнать о Lotus Notes, чтобы это работало. Начните с малого и посмотрите, сможете ли вы вообще получить версию Notes:

Set oNotesSession = CreateObject("Notes.Notessession") 'create notes session
Msgbox oNotesSession.NotesVersion

Если это сработает, значит, вы в хорошей форме. Если нет, убедитесь, что вы правильно установили Lotus Notes и настроили его на клиенте.

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

Вот код, который создаст новый документ Notes, задаст поле темы, прикрепит файл и затем сохранит документ. Предполагается, что уже доступна локальная база данных Notes под названием FileStorage.nsf.

strFileName = "C:\Windows\Media\tada.wav"
strSubject = "Your Subject Goes Here"

Set oNotesSession = CreateObject("Notes.Notessession") 'create notes session
Set oDb = oNotesSession.GetDatabase("", "FileStorage.nsf") 'open database on local named FileStorage.nsf
Set oDoc = oDb.CreateDocument

' Filling the fields
oDoc.Subject = strSubject
Set oBody = oDoc.CreateRichTextItem("Body")
oBody.EmbedObject 1454, "", strFileName   '1454 = Embedded Attachment type

oDoc.Save False, False
person Ken Pespisa    schedule 12.01.2010
comment
спасибо, попробую, как только смогу. Мне нужно использовать существующую базу данных заметок, все ли мне нужно имя базы данных для использования getdatabase? - person Jim B; 13.01.2010
comment
да. Первым параметром является имя сервера, но если вы используете локальную базу данных, вы можете просто оставить для этого параметра пустую строку. Если ваша база данных находится в папке, вам понадобится путь из каталога данных, поэтому используйте GetDatabase (, myfolder \ filestorage.nsf) - person Ken Pespisa; 13.01.2010