excel - VBA 暗淡对象错误
问题描述
如果我跑
Sub test()
Dim Template_Excel_Instance As excel.application
Set Template_Excel_Instance = CreateObject("excel.application")
End Sub
我的代码因错误“自动化错误,库未注册”而中断
如果我跑
Sub test()
Dim Template_Excel_Instance As object
Set Template_Excel_Instance = CreateObject("excel.application")
End Sub
它运行良好。有没有什么办法解决这一问题?我问的原因是这个问题只影响一台 PC,尽管与所有其他 PC 具有相同的引用。第一个错误不会出现在其他任何地方
解决方案
那台电脑有不同版本的 Excel 吗?
问题出在As Excel.Application
. 如果您没有定义适当的引用,则 VBA 编译器将无法识别该类型。是的,VBA 确实有一个编译步骤。如果您确实定义了参考,那么这对应用程序版本很敏感(我认为只是应用程序版本的主要部分),因此本质上是不可移植的。
在您的后一个示例中,您使用的是后期绑定,因此只需要注册 COM 对象,而不需要将任何特定库添加到您的项目中。为了便携性,这是要走的路。
推荐阅读
- makefile - GLIBC 错误:在 x86_64 (Ubuntu18.04) 上为 ARM Cortex A9(Debian 9) 交叉编译 ARMNN
- reactjs - 如何使用道具更新多边形选项的填充颜色?
- c++ - 尝试在 VS2019 解决方案中使用 MRPT 库作为外部依赖项时出现错误 LNK2019
- nexus - Sonatype Nexus 清理策略不清理
- visual-studio-code - 如何排除vscode中除一个文件夹以外的所有文件夹?
- javascript - 如何使用 ElementRef 更新 Angular 样式?
- vuejs2 - Vue组件-标签表工作不正常,在行下
- xamarin.android - 使用 DataSet 从 XML 和 XSD 创建输出 Xml 文件
- sql-server - 无法使用 Hibernate 连接到 MS SQL Server 2008 数据库实例
- reactjs - 如何更新 React-Hooks Apollo 轮询中的变量?