尝试在Word 2013中构建一个相当简单的VBA脚本,从特定的Domino数据库访问数据。如果我使用老式的OLE自动化(请参见第二个代码片段),我的脚本工作得很好,但是如果使用特定的Domino COM对象,使用早期绑定,我会非常喜欢。
我确定2013年的两个词
和
注释9.0.1 fp9正确安装在我的Windows 7(x64)计算机上。在Word的VBA编辑器中,我确保启用了对“LotusDomino对象”(domobj.tlb)的引用。
我知道创建一个notession对象有各种版本,我想我已经测试了它们。下面是“早期绑定”代码的一个示例:
Sub controlNotesCOM()
Dim sn As NotesSession
Dim db As NotesDatabase
Set sn = CreateObject("Lotus.NotesSession")
Call sn.Initialize
MsgBox sn.COMMONUSERNAME, , "UserName"
Set db = sn.GETDATABASE("", "mail\mymail.nsf")
If (db.IsOpen()) Then
MsgBox db.Size, , "Size"
Else
MsgBox "DB not open", , "ERROR"
End If
End Sub
在调试模式下运行此代码段I接收运行时错误429'Active X Component can't create the object'at line 3:
Set sn = CreateObject("Lotus.NotesSession")
我知道我过去也有类似的代码,但那是早期版本的注释。
和
Word(不记得哪个版本)。
但是,以下使用OLE自动化的老派方法仍然有效,因此我不认为这是注册表问题:
Sub controlNotesOLE()
Dim sn As Object
Dim db As Object
Set sn = CreateObject("Notes.NOTESSESSION")
'Call sn.Initialize
MsgBox sn.COMMONUSERNAME, , "UserName"
Set db = sn.GETDATABASE("", "mail\lmueller.nsf")
If (db.IsOpen()) Then
MsgBox db.Size, , "Size"
Else
MsgBox "DB not open", , "ERROR"
End If
End Sub
有人知道这里可能出什么问题吗?这可能是一个组合
不能
工作,不管什么原因?