最近、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