Page.UniqueIDsToShapeIDs 方法 (Visio)
傳回頁面上圖形識別碼的陣列,如其唯一識別碼所指定。
注意事項
This Visio object or member is available only to licensed users of Visio Professional 2013.
語法
expression。 UniqueIDsToShapeIDs
( _GUIDs()_
, _ShapeIDs()_
)
表達 會傳回 Page 物件的運算式。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
GUID () | 必要 | 字串 | 頁面上圖形之 String 類型的唯一識別碼陣列。 |
ShapeIDs () | 必要 | Long | 輸出參數。 空陣列,由方法填入對應 GUIDs() 中所指定之圖形的 Long 類型圖形識別碼。 |
傳回值
無
註解
Microsoft Visio 會透過兩個不同的識別碼來識別圖形:圖形識別碼及唯一識別碼。 Shape IDs 是數字而且會唯一識別個別繪圖頁面範圍內的圖形。 然而,它們在較寬的範圍內就不是唯一的。
唯一標識 符是 (GUID) 的全域唯一識別碼。 它們在應用程式的範圍內是唯一的。
若要在圖形識別碼和唯一識別碼之間轉換,您可以使用 Page 物件的兩種方法: ShapeIDsToUniqueIDs 和 UniqueIDsToShapeIDs。
根據預設,圖形沒有唯一識別碼。 只有當您設定圖形的 Shape.UniqueID 屬性時,圖形才會取得唯一識別碼。
如果 Shape 物件有唯一識別碼,任何其他文件中的其他圖形都不會有相同的識別碼。
範例
下列 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 UniqueIDsToShapeIDs 方法,以唯一識別碼形式決定傳遞至方法之頁面上圖形的圖形識別碼。 它會逐一查看使用中繪圖頁面上的所有圖形,並使用每個圖形的 UniqueID 屬性來取得圖形的唯一識別碼。 然後,它會將這些唯一識別碼傳遞給 UniqueIDsToShapeIDs 方法,以傳回圖形的圖形識別碼。 它會將唯一識別碼和圖形識別碼列印到 [即時運算] 視窗。
在執行這個巨集之前,請開啟 Visio 繪圖,並將幾個圖形放在使用中繪圖頁面上。
Public Sub UniqueIDsToShapeIDs_Example()
Dim vsoShape As Visio.Shape
Dim intArrayCounter As Integer
Dim intShapeCount As Integer
intShapeCount = ActivePage.Shapes.Count
ReDim astrUniqueIDs(intShapeCount - 1) As String
ReDim alngShapeIDs(intShapeCount - 1) As Long
intArrayCounter = 0
For Each vsoShape In ActivePage.Shapes
astrUniqueIDs(intArrayCounter) = vsoShape.UniqueID(1)
Debug.Print astrUniqueIDs(intArrayCounter)
intArrayCounter = intArrayCounter + 1
Next
ActivePage.UniqueIDsToShapeIDs astrUniqueIDs, alngShapeIDs
intArrayCounter = 0
For intArrayCounter = LBound(alngShapeIDs) To UBound(alngShapeIDs)
Debug.Print alngShapeIDs(intArrayCounter)
Next
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。