Excel VBA 新应用程序对象的自动化错误
Excel VBA automation error with new application object
我有一个复杂的项目多年来工作得很好。
但是最近我开始收到以下运行时错误:
Microsoft Visual Basic
Run-time error '-2147319765 (8002802b)':
Automation error Element not found
我已将其归结为最简单的子程序,如下所示:
Sub test()
Dim xl As Excel.Application
Set xl = New Excel.Application ' the error occurs on this line
End Sub
参考标准安装。由于某种原因,系统不允许我添加屏幕截图。现在 VBA 版本 7.1 - 我不知道这是否有任何区别。这是一个公司环境,对员工可以做的事情有很多限制:所以我无法安装新的 .ddl 等。
Dim xl as Object
Set xl = CreateObject("Excel.Application." & CLng(Application.Version))
这只是打开新 Excel 应用程序的另一种方法,但它解决了用户安装了多个 Excel 版本的问题,方法是专门调出您要打开的版本。
通常写成“Excel.Application.12”,其中末尾的数字是您已安装并要打开的 excel 的版本。 11 是 Excel 2003 年,12 是 Excel 2007 年,16 是最近的东西。
我用 Application.Version
替换了那个数字,表示打开您已经在使用的版本。
我有一个复杂的项目多年来工作得很好。
但是最近我开始收到以下运行时错误:
Microsoft Visual Basic
Run-time error '-2147319765 (8002802b)':
Automation error Element not found
我已将其归结为最简单的子程序,如下所示:
Sub test()
Dim xl As Excel.Application
Set xl = New Excel.Application ' the error occurs on this line
End Sub
参考标准安装。由于某种原因,系统不允许我添加屏幕截图。现在 VBA 版本 7.1 - 我不知道这是否有任何区别。这是一个公司环境,对员工可以做的事情有很多限制:所以我无法安装新的 .ddl 等。
Dim xl as Object
Set xl = CreateObject("Excel.Application." & CLng(Application.Version))
这只是打开新 Excel 应用程序的另一种方法,但它解决了用户安装了多个 Excel 版本的问题,方法是专门调出您要打开的版本。
通常写成“Excel.Application.12”,其中末尾的数字是您已安装并要打开的 excel 的版本。 11 是 Excel 2003 年,12 是 Excel 2007 年,16 是最近的东西。
我用 Application.Version
替换了那个数字,表示打开您已经在使用的版本。