Lotus Notes自动化

3

是否可以自动化Lotus Notes将本地文件发布到数据库?我需要每天将日志文件发布到notes数据库。我可以通过脚本收集日志文件,但不了解足够的Notes脚本以解决此问题。

我知道只要在PC上安装客户端就有COM接口,但我无法弄清如何将文件上传到数据库。我可以使用vbscript或(首选)powershell。

1个回答

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文档,设置主题字段,附加文件,然后保存文档。这假定已经有一个名为“FileStorage.nsf”的本地Notes数据库可用。

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

谢谢,我会尽快尝试。我必须使用现有的笔记数据库,我只需要数据库名称来使用getdatabase吗? - Jim B
是的。第一个参数是服务器名称,但如果您使用本地数据库,则可以将其设置为空字符串。如果您的数据库在文件夹中,则需要从数据目录获取路径,因此请使用GetDatabase(“”,“myfolder \ filestorage.nsf”)函数。 - Ken Pespisa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接