正如 D. Bugger 所说,您需要确保将 Notes 客户端安装在您的 VB 代码将运行的同一台客户端计算机上,并且您需要确保带有 nnotes.exe 文件的文件夹和带有 notes.ini 的文件夹文件在您的环境路径中。(如果没有,在实例化 Notes.NotesSession 对象时会出现 COM 错误。
如果这有帮助,这里有一些起始代码 - 未经测试,但只是一个粗略的指南......这将遍历 Notes 邮箱数据库中的所有文档,忽略除电子邮件文档(具有表单字段 =“备忘录”)之外的任何内容并抓取一些每封电子邮件的字段。
Public Sub exportNotesMail(MailServer$, MailDBPath$)
Dim mailDb As Object, doc As Object, alldocs As Object, Session As Object
Set Session = CreateObject("Notes.NotesSession")
Set mailDb = Session.GETDATABASE(MailServer, MailDbPath$)
If mailDb.IsOpen = False Then mailDb.OPENMAIL
Set alldocs = mailDb.AllDocuments
Set doc = alldocs.GetFirstDocument
while not (doc is nothing)
If doc.GetItemValue("Form")(0) = "Memo" Then
thisSubject = doc.getItemValue("Subject")(0)
thisFrom = doc.getItemValue("From")(0)
' get more field values
' Export to Excel or wherever
End If
Set doc = alldocs.GetNextDocument(doc)
Next i
' done
End Sub
call exportNotesMail ("MyServer", "mail\myMailFile.nsf")