Shape.UniqueID 属性 (Visio)

获取、删除或创建唯一标识应用程序范围内形状的 GUID。 此为只读属性。

语法

expressionUniqueID( _fUniqueID_ )

表达 返回 Shape 对象的表达式。

参数

名称 必需/可选 数据类型 说明
fUniqueID 必需 Integer 获取、删除或创建 Shape 对象的唯一 ID。 有关可能值,请参见备注。

返回值

String

备注

Microsoft Visio 通过两种不同的 ID 来标识形状:形状 ID 和唯一 ID。 形状 ID 是数值,在单个绘图页的范围内对形状进行唯一标识。 不过,这些 ID 在更大的范围内并不是唯一的。

唯一 ID 是 GUID。 它们在应用程序范围内是唯一的。

若要在形状 ID 和唯一 ID 之间转换,可以使用 Page 对象的两种方法: ShapeIDsToUniqueIDsUniqueIDsToShapeIDs

默认情况下,形状没有唯一 ID。 只有在您设置了某个形状的 UniqueID 属性的情况下,该形状才会获得唯一 ID。

如果 Shape 对象具有唯一 ID,则任何其他文档中的任何其他形状都不会具有这一 ID。

fUniqueID 参数控制 UniqueID 属性的行为。 该参数应含有下列值之一,这些值在 Visio 类型库中通过 VisUniqueIDArgs 声明。

常量 Description
visGetGUID 0 仅在形状已经具有唯一 ID 的情况下返回唯一 ID 字符串。 否则,将返回零长度字符串 (" ")。
visGetOrMakeGUID 1 返回形状的唯一 ID 字符串。 如果形状尚不具有唯一 ID,则会为该形状分配一个唯一 ID,然后返回这个新的 ID。
visDeleteGUID 2 删除形状的唯一 ID 并返回一个长度为零的字符串 ("")。
visGetOrMakeGUIDWithUndo 3 返回形状的唯一 ID 字符串。 如果形状尚未具有唯一 ID,则向形状分配一个 ID 并返回新 ID。 不可操作。
visDeleteGUIDWithUndo 4 清除形状的唯一 ID,并返回零长度字符串 (“”) 。 不可操作。

若要获取形状(如果知道其唯一 ID),请使用 Shapes.Item ( UniqueIDString) 。

例如,可以使用下面的代码:

Dim vsoShape As Visio.Shape 
Set vsoShape = Visio.ActivePage.Shapes.Item("{2287DC42-B167-11CE-88E9-0020AFDDD917}") 

此外,还可以使用下面的代码在该字符串前面添加字母“U”,以将该字符串标识为唯一 ID:

Dim vsoShape As Visio.Shape 
Set vsoShape = Visio.ActivePage.Shapes.Item("U{2287DC42-B167-11CE-88E9-0020AFDDD917}") 

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。