Visio (的 Shape.UniqueID 屬性)
取得、刪除或建立可唯一識別應用程式範圍內圖形的 GUID。 唯讀。
語法
expression。 UniqueID
( _fUniqueID_
)
表達 會傳回 Shape 物件的運算式。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
fUniqueID | 必要 | 整數 | 會取得、刪除或建立 Shape 物件的唯一識別碼。 請參閱 「 備註 」 可能的值。 |
傳回值
字串
註解
Microsoft Visio 會透過兩個不同的識別碼來識別圖形:圖形識別碼及唯一識別碼。 Shape IDs 是數字而且會唯一識別個別繪圖頁面範圍內的圖形。 然而,它們在較寬的範圍內就不是唯一的。
Unique IDs 是 GUID。 它們在應用程式的範圍內是唯一的。
若要在圖形識別碼及唯一識別碼間進行轉換,可以使用 Page 物件的兩種方法:ShapeIDsToUniqueIDs 及 UniqueIDsToShapeIDs。
根據預設,圖形沒有唯一識別碼。 只有在設定圖形的 UniqueID 屬性時,圖形才需要有唯一識別碼。
如果 Shape 物件有唯一識別碼,任何其他文件中的其他圖形都不會有相同的識別碼。
fUniqueID 參數會控制 UniqueID 屬性的行為。 它應該具有下列在 Visio 型別程式庫的 VisUniqueIDArgs 中所宣告的其中一個值。
常數 | 值 | 描述 |
---|---|---|
visGetGUID | 0 | 只有在圖形已有唯一識別碼時,才會傳回唯一識別碼。 否則會傳回零長度字串 ("")。 |
visGetOrMakeGUID | 1 | 會傳回圖形的唯一識別碼字串。 如果圖形沒有唯一識別碼,則會對圖形指定一個識別碼並傳回新識別碼。 |
visDeleteGUID | 2 | 會刪除圖形的唯一識別碼並傳回零長度字串 ("")。 |
visGetOrMakeGUIDWithUndo | 3 | 會傳回圖形的唯一識別碼字串。 如果圖形還沒有唯一識別碼,請將一個識別碼指派給圖形,並傳回新的識別碼。 可復原。 |
visDeleteGUIDWithUndo | 4 | 清除圖形的唯一識別碼,並傳回長度為零的字串 (「」) 。 可復原。 |
若要在知道圖形的唯一識別碼時取得圖形,請使用 Shapes.Item ( UniqueIDString) 。
例如,您可以使用下列程式碼:
Dim vsoShape As Visio.Shape
Set vsoShape = Visio.ActivePage.Shapes.Item("{2287DC42-B167-11CE-88E9-0020AFDDD917}")
您也可以使用下列程式碼,如此會在字串前面新增 "U" 字母,做為識別用的唯一識別碼︰
Dim vsoShape As Visio.Shape
Set vsoShape = Visio.ActivePage.Shapes.Item("U{2287DC42-B167-11CE-88E9-0020AFDDD917}")
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。