我打开Lotus文件以从中获取数据。如何在不使用GetObject的情况下实例化Lotus应用程序?我引用了“Lotus 123”。我正在使用Lotus SmartSuite 97。
这段代码工作正常,但它看起来我应该能够直接实例化Lotus应用程序,而不是使用GetObject。
'get LotusWin
Dim LotusApp As Lotus123.Application
Dim wb As Lotus123.Document
Set wb = GetObject("C:\Temp\TestCopy.WK3", "Lotus123.Workbook")
Set LotusApp = wb.Application
LotusApp.Visible = True
wb.Activate
我尝试使用Dim LotusApp As New Lotus123.Application
,但它会产生编译错误:无效使用New关键字。
我尝试使用Dim LotusApp As New Lotus123
但它会产生编译错误:预期的用户定义类型,而不是项目。
我使用Excel VBA作为运行代码的平台,但这不是Excel问题,因此请不要建议添加Excel标记。
另外,我对将文件转换为Excel不感兴趣。
如何在不使用GetObject的情况下实例化Lotus应用程序?
答案 0 :(得分:1)
GetObject()返回对COM组件提供的对象的引用,在您的案例中为Lotus123。
当您通过COM与Lotus123进行通信时,Lotus123显然不支持“As New”语法(即使在VB6中也没有得到正确支持,而且Lotus123更旧)我看不到使用GetObject()的替代方法。