DataRecordset.GetAllRefreshConflicts 方法 (Visio)
傳回陣列,其中包含連結至資料列的圖形,而這些資料列在重新整理資料記錄集之後會有未解決的衝突。 .
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
運算式。GetAllRefreshConflicts
表達 會傳回 DataRecordset 物件的 運算式。
傳回值
Shape ()
註解
當重新整理的資料是來自上次重新整理資料之後已變更的資料來源時,可能會發生衝突。 當單一圖形連結至相同資料來源中的多個資料列,或圖形連結至資料來源中已刪除的資料列時,可能會產生衝突。
若要判斷哪些資料記錄集資料列產生衝突,請將 GetAllRefreshConflicts 傳回的圖形 () 傳遞至 GetMatchingRowsForRefreshConflict 方法,以傳回發生衝突的資料列陣列。
範例
這個 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 GetAllRefreshConflicts 方法來判斷在重新整理資料記錄集之後,有哪些圖形發生衝突。 它會重新整理最近新增的資料記錄集,如果找不到任何產生的衝突,則會在 [即時運算] 視窗中列印「沒有衝突」。 如果發現衝突,則會逐一查看傳回的圖形陣列,並列印在相同視窗中發生衝突的圖形名稱。
在執行此巨集前,請確定最近新增的資料記錄集是已連線的 (非 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 支援與意見反應。