2010-01-12 128 views
2

是否可以自動化蓮花筆記將本地文件發佈到數據庫?我有一個日常任務將日誌文件發佈到筆記數據庫。我可以通過腳本收集日誌文件,但對筆記腳本知之甚少。蓮花筆記自動化

我知道thrre是一個COM接口,只要我有PC上的客戶端,但我無法弄清楚如何將文件上傳到數據庫。我可以使用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? – 2010-01-13 04:34:01

+0

是的。第一個參數是服務器名稱,但如果您使用本地數據庫,則可以將該設置保留爲空字符串。如果您的數據庫位於一個文件夾中,則需要數據目錄中的路徑,因此請使用GetDatabase(「」,「myfolder \ filestorage.nsf」) – 2010-01-13 17:28:42