从excel中提取时发生编译错误

时间:2016-11-26 10:12:32

标签: excel vba compiler-errors solidworks

我正在尝试使用VBA脚本运行3D CAD程序SolidWorks的渲染列表 我在列B中的MS Excel包含文件名中创建了一个列表,其文件扩展名在列A中

渲染部分工作但现在我收到错误:

"C:\Program Files\Amazon\AWSCLI\aws.exe" s3 sync "C:\my_local_folder" s3://my_bucket --delete

发生错误会显示消息: Dim xlApp As Excel.Application

您可以在下面找到代码:

Compile error: User-defined type not defined.

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:2)

您正在使用“早期绑定”到Excel对象模型,那么您必须缺少Excel库引用

在您的VBE编辑器中打开“参考”对话框(在Excel VBE中,这是在Tools-> References下,很可能是SolidWorks VBA IDE类似),将列表框向下滚动到“Microsoft Excel XX.0 Library”(“XX” “是Excel版本号”条目,选中其复选框并单击“确定”。

或者你可能想要使用“Late Binding”:

Dim xlApp As Object, xlWB As Object
Set xlApp = CreateObject("Excel.Application")

其中:

  • 您没有遇到任何Excel versioning问题

  • 但你失去了 Intellisense

    这样你就必须非常了解Excel对象模型才能正确使用它的对象和相应的方法或属性

    但在您的情况下,您只使用Open()对象的Workbooks方法,Range对象的Worksheet属性,因此Range对象{{1}方法和Offset()属性,以便您已经完成。