Shape.UniqueID 属性 (Visio)
获取、删除或创建唯一标识应用程序范围内形状的 GUID。 此为只读属性。
语法
expression。 UniqueID
( _fUniqueID_
)
表达 返回 Shape 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
fUniqueID | 必需 | Integer | 获取、删除或创建 Shape 对象的唯一 ID。 有关可能值,请参见备注。 |
返回值
String
备注
Microsoft Visio 通过两种不同的 ID 来标识形状:形状 ID 和唯一 ID。 形状 ID 是数值,在单个绘图页的范围内对形状进行唯一标识。 不过,这些 ID 在更大的范围内并不是唯一的。
唯一 ID 是 GUID。 它们在应用程序范围内是唯一的。
若要在形状 ID 和唯一 ID 之间转换,可以使用 Page 对象的两种方法: ShapeIDsToUniqueIDs 和 UniqueIDsToShapeIDs。
默认情况下,形状没有唯一 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。