Share via


Shape.ProgID プロパティ (Visio)

ActiveX コントロール、埋め込みオブジェクト、またはリンク オブジェクトを表す図形のプログラム識別子を返します。 読み取り専用です。

構文

ProgID

Shape オブジェクトを表す変数。

戻り値

文字列

注釈

図形が ActiveX コントロールまたは OLE 2.0 埋め込みオブジェクトやリンク オブジェクトでない場合、ProgID プロパティは例外を発生します。 ForeignType プロパティが値として visTypeIsOLE2 を返す場合、図形は ActiveX コントロール、埋め込みオブジェクト、またはリンク オブジェクトです。

オブジェクトのプログラム識別子を取得するには、Shape オブジェクトまたは OLEObject オブジェクトの ProgID プロパティを使用します。 各 OLE オブジェクト クラスは、レジストリにプログラム識別子を格納します。 通常、この処理はオブジェクトを提供するプログラムのインストール時に行われます。 クライアント プログラムは、この識別子を使用してオブジェクトを識別します。 Microsoft Visual Basic プログラムから GetObject (,"Visio.Application") などのステートメントを実行するときに、Microsoft Visio 識別子を使用しています。

ProgID プロパティからは、次のような文字列が返ります。

 
Visio.Drawing.5 
MSGraph.Chart.5 
Forms.CommandButton.1 

図形のインターフェイスが提供するメソッドやプロパティを判別するには、図形の Object プロパティを使用して、図形が表すオブジェクトの IDispatch インターフェイスを取得してから、図形の ClassID または ProgID プロパティを取得します。

この VBA (Microsoft Visual Basic for Applications) マクロは、アクティブなページの OLEObjects コレクションを取得して、各 OLEObject オブジェクトの ProgID をイミディエイト ウィンドウに出力する方法を示します。 この例は、アクティブなページに OLE 2.0 の埋め込みオブジェクトまたはリンク オブジェクト、または ActiveX コントロールが少なくとも 1 つあることを前提としています。

 
Public Sub ProgID_Example() 
 
 Dim intCounter As Integer 
 Dim vsoOLEObjects As Visio.OLEObjects 
 
 'Get the OLEObjects collection of the active page. 
 Set vsoOLEObjects = ActivePage.OLEObjects 
 
 'Step through the OLEObjects collection. 
 For intCounter = 1 To vsoOLEObjects.Count 
 Debug.Print vsoOLEObjects(intCounter).ProgID 
 Next intCounter 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。