プログラム ID を受け取り、それをインプロセス サーバーとして AutoCAD にロードを試みます。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.GetInterfaceObject(ProgID)
タイプ: Application
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
返されるインタフェース オブジェクトのプログラム ID。
オブジェクトが AutoCAD にロードされても、タイプ ライブラリには表示されません。オブジェクトには独自のタイプ ライブラリがあります。このメソッドにより ActiveX オートメーション サーバに接続できます。
可能な場合は、バージョン依存 ProgID を使用します。GetInterfaceObject メソッドがバージョンに依存しない ProgID を使用している場合は、バージョン依存 ProgID を使用するようにメソッドを変更してください。たとえば、AcadLayerStateManager を AcadLayerStateManager.20 に変更してください。
VBA:
Sub Example_GetInterfaceObject() ' This example returns top level object of another application. On Error GoTo ERRORHANDLER Dim poly As Object Set poly = ThisDrawing.Application.GetInterfaceObject("Polycad.Application") ERRORHANDLER: MsgBox Err.Description, , "GetInterfaceObject Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_GetInterfaceObject() ;; This example returns top level object of another application. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq poly (vl-catch-all-apply 'vla-GetInterfaceObject (list acadObj "Polycad.Application"))) (if (= (type poly)'VL-CATCH-ALL-APPLY-ERROR) (alert (strcat "Error occured: \n" (vl-catch-all-error-message poly))) ) )