我正在编写一个CorelDraw宏,它通过打开Workbook
从Excel中获取一些数据。
我喜欢在使用它们之前声明我的变量(通常还需要Option Explicit
)。
在这个子目录中,我将Workbook
变量声明为:
Sub needsWorkbookType()
Dim notCompile As workbook
End Sub
但是,因为我是从CorelDraw运行的,所以我无法访问Excel的类型。当我尝试运行sub时,出现编译错误:
我知道我可以通过关闭显式声明来解决这个问题,而不是声明任何Excel变量。解释器将动态创建它们,它将起作用。
但我希望能够宣布它们。
我的系统是:
答案 0 :(得分:4)
您需要添加对Microsoft Excel 14.0 Object Library
的引用以进行早期绑定。转到Tools
>> References
并在列表中找到该库并勾选此框。如果您有旧版本的Excel,那么数字14可能会更低,但这并不是一件大事,因为Excel对象模型多年来没有改变那个 ......
添加参考文献后,您可以说:
Dim xlApp as new Application.Excel
如果您在添加引用时遇到问题,也可以尝试延迟绑定:
Dim xlApp as Object
Set xlApp = CreateObject("Excel.Application")
但尝试使用早期绑定,因为它可以提供智能感,您可以更好地处理任何错误。
如果您安装了Excel 2013,则可以添加对Microsoft Excel 15.0 Object Library
的引用。
如果它没有显示在列表中,那么您可以浏览它,然后以这种方式安装。
为了找出要浏览的文件,您可以打开Excel VBA编辑器,并在此编辑器中查看相同的列表 - 因为您已经在Excel中,该库已经添加并将显示给您路径名称,如下所示:
切换回Corel VBA编辑器,然后浏览到该库。
现在将激活早期绑定。