GetInterfaceObject メソッド(ActiveX)

プログラム ID を受け取り、それをインプロセス サーバーとして AutoCAD にロードを試みます。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

RetVal = object.GetInterfaceObject(ProgID)
object

タイプ: Application

このメソッドが適用されるオブジェクト。

ProgID

アクセス: 入力のみ

タイプ: 文字列

返されるインタフェース オブジェクトのプログラム ID。

戻り値(RetVal)

タイプ: Object

プログラム ID に対応するインタフェース

注意

オブジェクトが AutoCAD にロードされても、タイプ ライブラリには表示されません。オブジェクトには独自のタイプ ライブラリがあります。このメソッドにより ActiveX オートメーション サーバに接続できます。

可能な場合は、バージョン依存 ProgID を使用します。GetInterfaceObject メソッドがバージョンに依存しない ProgID を使用している場合は、バージョン依存 ProgID を使用するようにメソッドを変更してください。たとえば、AcadLayerStateManagerAcadLayerStateManager.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)))
    )
)