【问题标题】:How do I connect to a Lotus Notes DB through VBA?如何通过 VBA 连接到 Lotus Notes DB?
【发布时间】:2010-01-27 21:58:57
【问题描述】:

我正在尝试通过 Microsoft Access 2003 中的 VBA 连接到 Lotus Notes 数据库。我拥有的代码如下:

设置 nSession = CreateObject("Notes.NotesSession")

设置 nDatabase = nSession.GetDatabase("CN=MT_N01/O=Org Name", "LossPrevention\BrchPrVI.nsf", False)

我尝试了服务器名称的变体,但似乎没有任何效果。在 Lotus Notes 中,它显示为“服务器:MT_N01/组织名称”。我只尝试了“MT_N01”和“MT_N01/Org Name”,但 NotesDatabase 变量一直为空。

有什么建议吗?

【问题讨论】:

    标签: vba lotus-notes


    【解决方案1】:

    这里我可能错了,但我认为你应该在使用之前调用会话的 Initialize() 方法。

    在此处查看示例:http://www.ibm.com/developerworks/lotus/library/domino-msnet/index.html

    【讨论】:

      【解决方案2】:

      我认为这种行为是正常的; VBA 知道nDatabase 是一个变体/对象,但对其内容一无所知。至少这是我在 Excel 2003 中尝试您的代码时得到的结果。

      尝试从数据库对象返回一些东西,例如nDatabase.ReplicaID 应该返回数据库标识字符串。如果数据库未正确加载,您将收到错误消息。

      针对".NET and Lotus Notes Interop." 问题发布了许多好的链接。

      【讨论】:

        【解决方案3】:

        除非您还需要使用 NotesUIWorkspace 类及其子类来操作 Notes 客户端用户界面,否则您应该使用“Lotus.NotesSession”类而不是“Notes.NotesSession”类。根据@Sagultay 的回答,您应该致电nSession.Intialize()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-04
          • 2012-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多