Свойство Shape.UniqueID (Visio)

Возвращает, удаляет или создает ИДЕНТИФИКАТОР GUID, который однозначно идентифицирует фигуру в области приложения. Только для чтения.

Синтаксис

выражение. UniqueID( _fUniqueID_ )

Выражение Выражение, возвращающее объект Shape .

Параметры

Имя Обязательный или необязательный Тип данных Описание
fUniqueID Обязательный Integer Возвращает, удаляет или создает уникальный идентификатор объекта Shape . Возможные значения см. в разделе Примечания.

Возвращаемое значение

Строка

Замечания

Microsoft Visio идентифицирует фигуры по двум разным идентификаторам: идентификаторам фигур и уникальным идентификаторам. Идентификаторы фигур являются числовыми и однозначно определяют фигуры в области отдельной страницы документа. Однако они не являются уникальными в более широкой области.

Уникальные идентификаторы — это идентификаторы 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 и обратная связь.