共用方式為


Visio (的 Shape.UniqueID 屬性)

取得、刪除或建立可唯一識別應用程式範圍內圖形的 GUID。 唯讀。

語法

expressionUniqueID( _fUniqueID_ )

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

參數

名稱 必要/選用 資料類型 描述
fUniqueID 必要 整數 會取得、刪除或建立 Shape 物件的唯一識別碼。 請參閱 「 備註 」 可能的值。

傳回值

字串

註解

Microsoft Visio 會透過兩個不同的識別碼來識別圖形:圖形識別碼及唯一識別碼。 Shape IDs 是數字而且會唯一識別個別繪圖頁面範圍內的圖形。 然而,它們在較寬的範圍內就不是唯一的。

Unique IDs 是 GUID。 它們在應用程式的範圍內是唯一的。

若要在圖形識別碼及唯一識別碼間進行轉換,可以使用 Page 物件的兩種方法:ShapeIDsToUniqueIDsUniqueIDsToShapeIDs

根據預設,圖形沒有唯一識別碼。 只有在設定圖形的 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 支援與意見反應