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 のサポートおよびフィードバックを参照してください。