以下のコードを使用してautocadオブジェクトを使用しています。
Dim acadapp As AcadApplication
acadapp = GetObject(, "AutoCAD.Application")
'''以下のコードを使用してオブジェクトを作成します -------------
acadapp = CreateObject("AutoCAD.Application")
「ActiveX コンポーネントを作成できません」というエラーが表示されます。私は以下のように18,19とさまざまな組み合わせを使用してみました:
acadapp = GetObject(, "AutoCAD.Application.18")
しかし、何も機能しません。助けてください。
@Locke:返信ありがとうございます。以下のように解決策を試しました:
Dim acadType As Type
Try
acadapp =
System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application.18.1")
''Above code din't worked so tried below code also
' acadapp = DirectCast(Marshal.GetActiveObject("AutoCAD.Application.18.1"),
'AcadApplication)
Catch ex As Exception
acadType = Type.GetTypeFromProgID("AutoCAD.Application")
acadapp = DirectCast(Activator.CreateInstance(acadType, True), AcadApplication)
End Try
例外の表示:
タイプ 'System.__ComObject' の COM オブジェクトをインタフェース タイプ 'AutoCAD.AcadApplication' にキャストできません。IID '{8E75D910-3D21-11D2-85C4-080009A0C626}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーのために失敗したため、この操作は失敗しました: No such interface supported (HRESULT からの例外: 0x80004002 (E_NOINTERFACE)) .