Поделиться через


Свойство Shapes.Item (Visio)

Возвращает элемент из коллекции. Свойство Item является свойством по умолчанию для всех коллекций. Только для чтения.

Синтаксис

expression. Item (NameUIDOrIndex)

выражение: переменная, представляющая объект Shapes.

Параметры

Имя Обязательный или необязательный Тип данных Описание
NameUIDOrIndex Обязательный Variant Содержит имя, уникальный идентификатор или индекс извлекаемого объекта.

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

Shape

Примечания

При извлечении объектов из коллекции можно опустить Item из выражения, так как это свойство по умолчанию для всех коллекций. Приведенные ниже инструкции эквивалентны приведенному выше примеру синтаксиса:

objRet = object(index)  
objRet = object(stringExpression)

Объект можно получить в коллекции Addons, Documents, Fonts, Hyperlinks, Layers, Masters, MasterShortcuts, OLEObjects, Pages, Shapes или Styles , передав имя объекта в виде строкового выражения в Variant.

Если вы извлекаете объект Shape по имени, свойство Item выполняет поиск всех фигур на странице, содержащей коллекцию Shapes , или в ней содержится образец, в дополнение к фигуре, содержащей коллекцию. Таким образом, объект Shape , возвращаемый свойством Item , может быть фигурой, которая не входит в коллекцию Shapes .

Вы также можете передать уникальную строку идентификатора объекта Master или Shape в свойство Item . Например:

objRet = vsoShapes.Item("{2287DC42-B167-11CE-88E9-0020AFDDD917}")

Если такая строка передается в свойство Item коллекции Shapes , выполняется поиск по всем фигурам, содержащимся в коллекции. Фигуры в фигурах группы в содержащей фигуре не выполняются.

Чтобы выполнить поиск по всем фигурам в коллекции, а также фигурам внутри групп и содержащей фигуре коллекции, зафиксировать строку уникального идентификатора звездочкой (*). Например:

objRet = vsoShapes.Item("*{2287DC42-B167-11CE-88E9-0020AFDDD917}")

Дополнительные сведения о передаче строк идентификатора в свойство Item см. в разделе, посвященном свойству UniqueID в этом справочнике.

Пример

Этот макрос Microsoft Visual Basic для приложений (VBA) показывает, как использовать свойство Item для получения объекта Page из коллекции Pages активного документа и всех объектов Shape в коллекции Shape объектаPage. Он выводит имена всех фигур на странице Page1 в окне Интерпретация.

Перед выполнением этого макроса убедитесь, что активный документ содержит фигуры на странице Page1.

Public Sub Item_Example() 
  
    Dim intCounter As Integer 
    Dim intShapeCount As Integer 
    Dim vsoShapes As Visio.Shapes  
 
    Set vsoShapes = ActiveDocument.Pages.Item(1).Shapes  
 
    Debug.Print "Shape Name List For..." 
    Debug.Print "Document: "; ActiveDocument.Name  
    Debug.Print "Page: "; ActiveDocument.Pages.Item(1).Name  
 
    intShapeCount = vsoShapes.Count  
 
    If intShapeCount > 0 Then 
        For intCounter = 1 To intShapeCount  
            Debug.Print " "; vsoShapes.Item(intCounter).Name  
        Next intCounter  
    Else 
        Debug.Print " No Shapes On Page"  
    End If   
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.