我正在使用下面的代码来使用 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 调用因以下错误而失败:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .