DataRecordset.GetAllRefreshConflicts メソッド (Visio)
データ レコードセットの更新後に解決されていない競合があるデータ行にリンクされた図形を含む配列を返します。 .
注:
この Visio オブジェクトまたはメンバーは Visio Professional 2013 のライセンス ユーザーのみが使用できます。
構文
式。GetAllRefreshConflicts
式DataRecordset オブジェクトを返す式。
戻り値
Shape()
注釈
最後にデータを更新してから変更されたデータ ソースからデータを更新すると、競合が発生する可能性があります。 競合が発生するのは、1 つの図形が同じデータ ソース内の複数の行にリンクされている場合、または削除されたデータ ソース内の行に図形がリンクされている場合です。
競合を生成したデータ レコードセット行を特定するには、 GetAllRefreshConflicts によって返される図形を、競合している行の配列を返す GetMatchingRowsForRefreshConflict メソッドに渡します。
例
次の Microsoft Visual Basic for Applications (VBA) マクロは、データ レコードセットの更新後、競合する図形がある場合は GetAllRefreshConflicts メソッドを使用して、どの図形が競合しているか判断する方法を示しています。 最後に追加されたデータ レコードセットを更新し、競合がなかった場合は [イミディエイト] ウィンドウに "No conflicts" と出力します。 競合を発見した場合は、取得した図形の配列をループし、図形の名前を出力します。
このマクロを実行する前に、最後に追加されたデータ レコードセットは (XML ベースではない) 接続されているデータ レコードセットで、元のデータ ソースへの接続が使用可能であることを確認してください。 その後、データ ソースから行を削除したり、その他の変更を行うと競合が発生します。
Public Sub GetAllRefreshConflicts_Example()
Dim vsoDataRecordset As Visio.DataRecordset
Dim intRecordsetCount As Integer
Dim intShapeCount As Integer
Dim avsoShapes() As Visio.Shape
intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount)
vsoDataRecordset.Refresh
avsoShapes = vsoDataRecordset.GetAllRefreshConflicts
If IsEmpty(avsoShapes) Then
Debug.Print "No conflict"
Else
For intShapeCount = LBound(avsoShapes) To UBound(avsoShapes)
Debug.Print avsoShapes(intShapeCount).Name
Next intShapeCount
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。