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