Page.DropManyLinkedU 方法 (Visio)
會在繪圖頁面上建立多個連結至資料記錄集中多個資料列的新圖形。 會傳回所建立之圖形實例的數目,以及這些圖形的識別碼陣列。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
expression。 DropManyLinkedU
( _ObjectsToInstance()_
, _XYs()_
, _DataRecordsetID_
, _DataRowIDs()_
, _ApplyDataGraphicAfterLink_
, _ShapeIDs()_
)
表達 會傳回 Page 物件的運算式。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
ObjectsToInstance () | 必要 | Variant | 要建立物件實例的 Variant 類型陣列。 |
XYs () | 必要 | 雙精確度 | Double 類型陣列 |
DataRecordsetID | 必要 | Long | 包含要連結之資料列的資料記錄集識別碼。 |
DataRowIDs () | 必要 | Long | 包含要連結之資料列識別碼的 Long 類型陣列。 |
ApplyDataGraphicAfterLink | 必要 | 布林值 | 是否要將目前的資料圖形套用到連結的圖形。 如需詳細資訊,請參閱<備註>。 |
ShapeIDs () | 必要 | Long | 輸出參數。 型別為 Long 的陣列,其中包含已建立及連結的圖形。 |
傳回值
Long
註解
當您想要建立的圖形已經連結到繪圖頁面上的資料,其中不包含任何圖形或包含您想要連結的圖形以外的圖形時,您可以使用 Page.DropLinked 和 Page.DropManyLinkedU 方法來建立一或多個已連結至資料的其他圖形。 這些方法類似于現有的 Page.Drop 和 Page.DropManyU 方法,因為它們會在頁面上指定的位置建立其他圖形;但除此之外,它們會在新圖形和指定的資料列之間建立指定之資料記錄集中的連結。
如果是 ObjectsToInstance() 參數,請傳遞物件陣列,以產生連結資料的圖形實例。 雖然這些物件通常是 Visio 物件,例如 Master、 Shape或 Selection 物件,但它們可以是提供 IDataObject 介面的任何 OLE 物件。
如果是 XYs() 參數,請傳遞 Double 類型的陣列。 每一組連續的陣列索引位置值都應該對應至 x 和y 頁面 座標,您希望物件的實例位於 ObjectsToInstance () 陣列中的對應位置。 例如,如果您想要將 ObjectsToInstance () 中第一個陣列索引位置的物件實例放在頁面座標 (2,4) ,請將值 2 放在 XYs () 的第一個陣列索引位置,並將值 放在 該陣列的第二個數組索引位置, 其餘的物件和座標則依此類推。
當您傳入 ObjectsToInstance () 陣列的物件是圖形時,圖形寬度高度方塊的中心會位於您在 XYs 中指定的座標 () 。
當 ObjectsToInstance() 陣列中傳遞的物件是主圖形時,主圖形的針腳會置於您在 XYs() 中所指定的座標中。 主圖形的針腳通常 (但不一定) 位於它的旋轉中心上。
如果是 DataRowIDs() 參數,請傳遞代表資料記錄集中資料列識別碼的 Long 值陣列,該資料列將要連結從 ObjectsToInstance() 陣列中對應陣列索引位置之物件所建立的圖形實例。
如果是 ShapeIDs() 參數,請傳遞 Long 類型的空白、無維度陣列。 方法傳回的陣列會填入新建立並連結之圖形的識別碼。
注意事項
從 Microsoft Visio 2000 開始,您可以使用本機和通用名稱來參照 Visio 圖形、主圖形、檔、頁面、列、附加元件、儲存格、超連結、樣式、字型、主圖形快捷方式、UI 物件和圖層。 例如,當使用者為圖形命名時,使用者會指定本機名稱。從 Microsoft Office Visio 2003 開始,ShapeSheet 試算表只會在儲存格公式和值中顯示通用名稱。 (在舊版的 Visio 中,通用名稱不會顯示在使用者介面中。) 身為開發人員,當您不想在每次當地語系化解決方案時變更名稱時,可以在程式中使用通用名稱。 當您使用通用名稱來識別圖形時,請使用 DropManyLinkedU 方法來卸載多個連結至資料的圖形。
範例
下列 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 DropManyLinkedU 方法,在使用中繪圖頁面上建立數個圖形、以指定的座標為中心,以及連結至最近新增至使用中檔之記錄集中的資料列。 它會將建立的圖案數目及其識別碼列印到 [即時運算] 視窗。
傳遞至 DropManyLinkedU 方法的圖形是基本圖形 (US 單位) 樣板的簡單形式。 執行這個宏之前,請使用 DataRecordsets.Add 方法或其他方法,將至少一個資料記錄集新增至 DataRecordsets 集合,並確定 Visio 繪圖視窗中已開啟 [基本圖形 (US 單位) 樣板。
Sub DropManyLinkedU_Example()
Dim avarObjects(0 To 2) As Variant
Dim adblXYs(0 To 5) As Double
Dim alngDataRowIDs(0 To 2) As Long
Dim alngShapeIDs() As Long
Dim vsoDataRecordset As Visio.DataRecordset
Dim intRecordsetCount As Integer
Dim lngReturned As Long
Dim intCounter As Integer
intRecordsetCount = Visio.ActiveDocument.DataRecordsets.Count
Set vsoDataRecordset = Visio.ActiveDocument.DataRecordsets(intRecordsetCount)
Set avarObjects(0) = Visio.Documents("Basic_U.VSS").Masters("Rectangle")
Set avarObjects(1) = Visio.Documents("Basic_U.VSS").Masters("Triangle")
Set avarObjects(2) = Visio.Documents("Basic_U.VSS").Masters("Circle")
adblXYs(0) = 2
adblXYs(1) = 2
adblXYs(2) = 4
adblXYs(3) = 4
adblXYs(4) = 6
adblXYs(5) = 6
alngDataRowIDs(0) = 1
alngDataRowIDs(1) = 2
alngDataRowIDs(2) = 3
lngReturned = ActivePage.DropManyLinkedU(avarObjects, adblXYs, vsoDataRecordset.ID, alngDataRowIDs, True, alngShapeIDs)
Debug.Print lngReturned
For intCounter = 0 To lngReturned - 1
Debug.Print alngShapeIDs(intCounter)
Next
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。