Shape.GetCustomPropertiesLinkedToData メソッド (Visio)

指定されたデータ レコードセットにリンクされている図形のシェイプシートの [Shape Data] セクションの、図形データ項目 (カスタム プロパティ) の行の ID を取得します。

注:

この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。

構文

expression. GetCustomPropertiesLinkedToData( _DataRecordsetID_ , _CustomPropertyIndices()_ )

Shape オブジェクトを返す式。

パラメーター

名前 必須 / オプション データ型 説明
DataRecordsetID 必須 Long 図形がリンクされているデータを含むデータ レコードセットの ID です。
CustomPropertyIndices() 必須 Long 出力パラメーターです。 データ レコードセット内のデータ列にリンクされている図形のシェイプ シート内の shape-data-item (カスタム プロパティ) 行の行 ID でメソッドが埋める空の無次元配列。

戻り値

なし

解説

図形とデータがどのようにリンクされているかを理解しておくと、1 つまたは複数のデータ レコードセットを最新のデータに更新するときに、競合やリンクの解除の発生を防ぐことができます。

注:

Visio の以前の一部のバージョンでは、図形データはカスタム プロパティと呼ばれていました。

次の Microsoft Visual Basic for Applications (VBA) マクロは、GetCustomPropertiesLinkedToData メソッドを使用して、データ レコードセット内のデータ列にリンクされた図形データ項目 (カスタム プロパティ) 行の ID を取得する方法を示しています。

このマクロを実行する前に、少なくとも 1 つのデータ レコードセットをドキュメントの DataRecordsets コレクションに追加します。 マクロは図形をページにドロップし、このコレクションに最後に追加されたデータ レコードセットのデータにその図形をリンクし、そのリンクが成功したことを確認するためにテストします。 成功した場合は、データにリンクされているすべてのシェイプシート行の行 ID を取得して、その行 ID をイミディエイト ウィンドウに表示します。

Public Sub GetCustomPropertiesLinkedToData_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim vsoShape As Visio.Shape 
    Dim intCount As Integer 
    Dim boolIsLinked As Boolean 
    Dim alngIndices() As Long 
    Dim intArrayIndex as Integer 
            
    intCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intCount) 
    Set vsoShape = ActivePage.DrawRectangle(2, 2, 4, 4) 
         
    vsoShape.LinkToData vsoDataRecordset.ID, 1, True 
    boolIsLinked = vsoShape.IsCustomPropertyLinked(vsoDataRecordset.ID, 1) 
     
    If boolIsLinked Then 
         
        vsoShape.GetCustomPropertiesLinkedToData vsoDataRecordset.ID, alngIndices 
        For intArrayIndex = LBound(alngIndices) To UBound(alngIndices) 
             Debug.Print alngIndices(intArrayIndex) 
        Next 
     
    Else 
     
        Debug.Print "Not linked." 
         
    End If 
 
End Sub

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

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