我们最近从 Inventor 2017->2021 升级,现在一些 VBA 代码不再工作。这一切都归结为无法通过 Inventor 的 VBA 正确启动 Excel.Application(还有 Word 或 Powerpoint)。请参阅下面的代码示例。我正确设置了引用,并且可以将变量声明为 Excel.Application。但是当我将一个变量声明为 Excel.Application,然后使用 CreateObject("Excel.Application") 创建一个对象时,它给了我这个错误。
当我将变量声明为对象时,一切正常。后来我仍然无法将它分配给 Excel.Application 变量。
我可以完美地使用所有其他变量类型,如 Workbook、Range 等。唯一不起作用的是 Excel.Application 变量。
当我从 Excel 或 Word 运行相同的代码时,它可以正常工作。当我尝试启动 Inventor.Application 或 AutoCAD.Application 等其他对象时,它不会出现此问题。
应该工作的基本代码,但不适用于 Inventor,但可以在 Excel/Word 中工作:
Sub StartExcel()
Dim oXL As Excel.Application
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
oXL.Workbooks.Add
End Sub
有效的代码:
Sub StartExcel()
Dim oXL As Object
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
oXL.Workbooks.Add
End Sub
有人知道为什么它不起作用吗?
软件详情:Inventor 版本为 2021 Office 365(对象库 16.0) VDI Citrix 环境 Windows 10 版本 2004