excel - 创建新 Excel.Application 时出现运行时错误 "Element not found"

标签 excel vba

我有一个宏,可以从 Solidworks 打开 Excel 以从表格中提取零件信息。最近,当它遇到“set xlApp = New Excel.Application”行时出现此错误
错误是
运行时错误“-2147023728 (80070490)”:找不到元素。
我没有任何缺少的库,我使用 excel.exe 作为引用。 (第 16 版)
如果我尝试从 Outlook 而不是 Solidworks 运行这个简化的代码,我会得到同样的错误。

Dim xlApp As Object

Sub main()
    Set xlApp = New Excel.Application
End Sub
我尝试过的其他代码变体:
Dim xlApp As Excel.Application

Sub main()
    Set xlApp = GetObject(, "Excel.Application")
End Sub
结果:运行时错误“429”:ActiveX 组件无法创建对象。
如果将其更改为:
Set xlApp = new Excel.Application
就像我在前面的例子中一样,然后我得到 Element not found 错误。因此,后期绑定(bind)与早期绑定(bind)没有任何效果。
这一切都在使用已经运行的 excel 进行测试。 Excel 中的 VBA 代码可以正常工作,除非我使用该特定行。我可以在 Excel 中使用“Application.ActiveWorkbook”而不会出错,也无需定义应用程序(因为它已经是 Excel)。
我已删除并重新安装 Office 无济于事。研究并没有让我找到类似的其他解决方案来尝试。
提前致谢。
-泰勒

最佳答案

我在我支持的一些机器上遇到了这个问题。这是我的解决方案,后期绑定(bind)是我的答案。

Dim xlApp As Object

Sub main()
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Application.Visible = True
    'This line would create a blank workbook, but you could open an existing one here
    'xlApp.Workbooks.Add
End Sub
从那里您可以打开您需要的工作簿并照常继续。

关于excel - 创建新 Excel.Application 时出现运行时错误 "Element not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70249268/

相关文章:

excel - 将多个值写入一个单元格 - VBA

vba - 在VB6/VBA中,是否确实需要清除对象/清除数组分配(优点/缺点)?

excel - 在 VBA 中重新计算单元格或范围的不同方法

c# - EPPlus OfficeOpenXml 检查工作表是否存在,而不将整个文件加载到内存中

python - 如何将来自不同文件的多个 Excel 工作表合并为一个文件

excel - VBA (Excel) ActiveX 列表框更改事件递归行为

vba - 使用 VBA 进行 SFTP 上传

Excel:比较两个不同工作表中的名称

excel - 使用 ws.QueryTables.Add 导入 CSV 时出现问题

excel - 缓慢执行时间批量 .xlsx 到 .xls 转换