首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CorelDraw VBA宏中的Dim工作簿未编译

CorelDraw VBA宏中的Dim工作簿未编译
EN

Stack Overflow用户
提问于 2014-10-13 15:43:35
回答 1查看 1.1K关注 0票数 2

我正在编写一个CorelDraw宏,它通过打开一个WorkbookWorkbook中获取一些数据。

我喜欢在使用变量之前声明它们(通常也需要使用Option Explicit)。

在这个子部分中,我声明我的Workbook变量为:

代码语言:javascript
复制
Sub needsWorkbookType()
    Dim notCompile As workbook
End Sub

但是,由于我是从CorelDraw运行的,所以无法访问Excel的类型。当我试图运行这个子程序时,我会得到一个编译错误:

  • 未定义用户定义类型

我知道我可以通过关闭显式声明,而不声明任何Excel变量来解决这个问题。解释器将动态创建它们,并将工作。

但我更希望能申报。

我的系统是:

  • Windows 8.1
  • Excel 2013
  • Corel X6
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-13 15:58:03

为了早期绑定,您需要添加对Microsoft Excel 14.0 Object Library的引用。转到Tools>>References,在列表中找到库并勾选该框。如果您有一个较旧版本的Excel,则数字14可能较低,但这并不是什么大问题,因为Excel对象模型多年来没有发生太大的变化。

添加参考资料后,您可以说:

Dim xlApp as new Application.Excel

如果在添加引用时遇到困难,也可以尝试延迟绑定:

代码语言:javascript
复制
Dim xlApp as Object 
Set xlApp = CreateObject("Excel.Application")

但是尝试使用早期绑定,因为它会给您带来理智,您可以更好地处理任何错误。

如果安装了Excel2013,那么将添加对Microsoft Excel 15.0 Object Library的引用。

如果它没有出现在列表中,那么您可以浏览到它,并以这种方式安装它。

为了找到要浏览的文件,您可以打开Excel编辑器,并查看此编辑器中的相同列表--因为您已经在Excel中,库将被添加并显示路径名,如下所示:

切换回Corel编辑器,并浏览到该库。

早期绑定现在将被激活。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26343857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档