Java Lotus Notes API / VBA nsf 文件的路径
Java Lotus Notes API / VBA path to nsf file
我正在开发一个 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 方法提供确切的路径在除我自己的设备之外的任何其他设备上都不起作用。那么如何在任何设备上运行它呢?
非常感谢!
如果您有本地邮件文件副本,它通常位于 Notes/Data 目录中,该目录被视为 Notes 的根目录。
这就是它在第一个示例中打开的原因。
在第二个示例中,听起来您尝试打开的数据库位于 Notes/Data 目录中的一个文件夹中,这可能就是它无法正常工作的原因。
通常当您想要打开邮件数据库时,如果您使用 Java 和 NotesDatabase classs 的 OpenMail 方法,则使用 DbDirectory class 的 openMailDatabase 方法Lotusscript.
我正在开发一个 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 方法提供确切的路径在除我自己的设备之外的任何其他设备上都不起作用。那么如何在任何设备上运行它呢?
非常感谢!
如果您有本地邮件文件副本,它通常位于 Notes/Data 目录中,该目录被视为 Notes 的根目录。 这就是它在第一个示例中打开的原因。 在第二个示例中,听起来您尝试打开的数据库位于 Notes/Data 目录中的一个文件夹中,这可能就是它无法正常工作的原因。
通常当您想要打开邮件数据库时,如果您使用 Java 和 NotesDatabase classs 的 OpenMail 方法,则使用 DbDirectory class 的 openMailDatabase 方法Lotusscript.