【发布时间】:2017-06-30 13:38:35
【问题描述】:
我正在开发一个 Java 程序,通过 lotus notes 客户端发送带有附件的电子邮件。一位同事给了我一个 vba 脚本,它能够完成这项任务来指导自己。脚本如下:
Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GetDatabase("", MailDbName)
就像魔术一样,这成功打开了本地笔记数据库文件,我可以发送电子邮件了。现在我尝试使用 Lotus Notes API“Notes.jar”在 Java 中复制它:
Session s = NotesFactory.createSession();
Database database = s.getDatabase("", "PATH TO NSF FILE");
如果我为 getDatabase 方法提供 nsf 文件的确切路径,它的工作原理就像一个魅力,但在 vba 脚本中赋予它与 MailDbName 相同的值它不起作用。我的问题是这在 vba 中是如何工作的,但在 Java 中却不是?为 getDatabase 方法提供确切的路径在我自己的设备之外的任何其他设备上都不起作用。那么我如何让它在任何设备上运行呢?
非常感谢!
【问题讨论】:
-
请显示不起作用的确切代码。不要让我们猜测。即,准确地向我们展示您如何为其提供“与 vba 脚本相同的 MailDbName 值”。另外请告诉我们:VBA 脚本在哪台机器上运行,它是如何运行的; Java 代码在哪台机器上运行,它是如何运行的?
标签: java vba lotus-notes lotus-domino