共用方式為


Page.LinkShapesToDataRows 方法 (Visio)

會將指定之資料錄集中的多個資料列 (由其資料列識別碼所指定) 連結至頁面上的多個圖形,並可選擇將目前資料圖形套用至連結的圖形。

注意事項

This Visio object or member is available only to licensed users of Visio Professional 2013.

語法

運算式LinkShapesToDataRows( _DataRecordsetID_ , _DataRowIDs()_ , _ShapeIDs()_ , _ApplyDataGraphicAfterLink_ )

表達 會傳回 Page 物件的運算式。

參數

名稱 必要/選用 資料類型 描述
DataRecordsetID 必要 Long 目前文件中包含要連結之資料的資料錄集識別碼。
DataRowIDs () 必要 Long DataRecordsetID 中指定之資料記錄集中資料列識別碼 Long 類型的數 組,要連結至 ShapeIDs () 中指定的圖形。
ShapeIDs () 必要 Long 頁面上圖形的 Long 類型 Long 陣列,要連結至 DataRecordsetID 中指定之記錄集中 DataRowIDs () 中指定的資料列。
ApplyDataGraphicAfterLink 選用 布林值 是否要將目前的資料圖形套用到連結的圖形。 如需詳細資訊,請參閱<備註>。

傳回值

註解

您為 ShapeID () 參數傳遞之陣列中圖形識別碼的索引位置,應該對應至要連結圖形之資料列識別碼的 DataRowIDs () 陣列中的索引位置。 也就是說,若要將識別碼 為 1 的圖形連結至識別碼為 10 的資料列,例如,將圖形識別碼和資料列識別碼放在其各自陣列中的相同陣列索引位置。

如果 Visio 無法建立圖形及資料列之間的連結,Visio 會略過該圖形,並繼續陣列中的下一個圖形。 執行 方法之後,若要判斷陣列中的所有圖形是否真的都連結到指定的資料列,請在陣列中的每個圖形上呼叫 Shape.GetLinkedDataRow 方法。 如果該方法無法對任何圖形執行,它會表示圖形沒有連結至資料列。 Visio 通常會成功將資料列連結至圖形,除非圖形已連結至資料,而且資料記錄集的 link-replacement-behavior 設定會指定不應該取代連結。

如果您針對選擇性的 ApplyDataGraphicAfterLink 參數傳遞 True ,或未傳遞此參數的值,Visio 會在呼叫 方法之前,將現有的資料圖形重新套用至已套用資料圖形的圖形。 如果是先前沒有資料圖形的圖形,Visio 會套用目前文件中最近套用至任何其他圖形的資料圖形。

範例

下列 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 LinkShapesToDataRows 方法,將新增至使用中繪圖頁面的前三個圖形,連結至最近新增至目前檔之 DataRecordsets 集合之記錄集中前三個數據列中的資料。 因為它沒有傳遞選用最後參數的值,所以也會將資料圖形套用至連結的圖形。

執行這個宏之前,請先開啟新的 Visio 繪圖,並使用 DataRecordsets.Add 方法或其他方法,將至少一個資料記錄集新增至 DataRecordsets 集合。 最近新增的資料錄集應至少包含三個資料列。 然後將至少三個圖形新增至繪圖頁面。

Public Sub LinkShapesToDataRows_Example() 
 
    Dim vsoDataRecordset As Visio.DataRecordset 
    Dim intRecordsetCount As Integer 
    Dim alngDataRowIDs(0 To 2) As Long 
    Dim alngShapeIDs(0 To 2) As Long 
     
    alngShapeIDs(0) = 1 
    alngShapeIDs(1) = 2 
    alngShapeIDs(2) = 3 
     
    alngDataRowIDs(0) = 1 
    alngDataRowIDs(1) = 2 
    alngDataRowIDs(2) = 3 
         
    intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count 
    Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount) 
     
    ActivePage.LinkShapesToDataRows vsoDataRecordset.ID, alngDataRowIDs, alngShapeIDs 
 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應