1

我正在打开 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,但它给出了编译错误:无效使用新关键字。

我尝试使用Dim LotusApp As New Lotus123但它给出了编译错误:预期的用户定义类型,而不是项目。

我使用 Excel VBA 作为运行代码的平台,但这不是 Excel 问题,因此请不要建议添加 Excel 标记。

此外,我对将文件转换为 Excel 不感兴趣。

如何在不使用 GetObject 的情况下实例化 Lotus 应用程序?

4

1 回答 1

1

GetObject() 返回对 COM 组件提供的对象的引用,在您的情况下为 Lotus123。

当您通过 COM 与 Lotus123 通信时,Lotus123 显然不支持“As New”语法(即使在 VB6 中也没有得到适当的支持,而且 Lotus123 更老了),我认为除了使用 GetObject() 之外别无选择。

于 2013-08-20T13:54:35.607 回答