2010-01-12 10 views
2

Возможно ли автоматизировать заметки лотоса, чтобы опубликовать локальный файл в базе данных? У меня есть ежедневная задача опубликовать файл журнала в базе данных заметок. Я могу собрать лог-файл через скрипт, но не знаю достаточно о написании заметок, чтобы понять это.lotus notes automation

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

ответ

4

Если вы просматриваете сеть, вы можете найти примеры использования 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 
+0

спасибо, я попробую это, как только смогу. Я должен использовать существующую базу данных заметок, все ли мне нужно имя базы данных для использования getdatabase? –

+0

Да. Этот первый параметр - это имя сервера, но если вы используете локальную базу данных, вы можете просто оставить этот набор пустой строкой. Если ваша база данных находится в папке, вам понадобится путь из каталога данных, поэтому используйте GetDatabase ("", "myfolder \ filestorage.nsf"). –