gpt4 book ai didi

Java Lotus Notes API/VBA nsf 文件路径

转载 作者:行者123 更新时间:2023-12-02 12:45:09 26 4
gpt4 key购买 nike

我正在开发一个 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 文件的确切路径,它会像一个 super 按钮一样工作,但如果给它与 vba 脚本中的 MailDbName 相同的值,它就不起作用。我的问题是,这在 vba 中如何工作,但在 Java 中却不起作用?除了我自己的设备之外,为 getDatabase 方法提供确切的路径在任何其他设备上都不起作用。那么如何让它在任何设备上运行呢?

非常感谢!

最佳答案

如果您有本地邮件文件副本,它通常位于 Notes/Data 目录中,该目录被视为 Notes 的根目录。这就是它在第一个示例中打开的原因。在第二个示例中,听起来您尝试打开的数据库位于 Notes/Data 目录中的文件夹中,这可能就是它无法工作的原因。

通常,当您想要打开邮件数据库时,如果您使用 Java,则可以使用 DbDirectory 类的 openMailDatabase 方法,而使用 Lotusscript 中的 NotesDatabase 类的 OpenMail 方法。

关于Java Lotus Notes API/VBA nsf 文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44794991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com