Возврат объекта из коллекции (Word)

Метод Item возвращает один объект из коллекции. В следующем примере для переменной docFirst задается объект Document , представляющий первый документ в коллекции Documents .

Sub SetFirstDoc() 
    Dim docFirst As Document 
    Set docFirst = Documents.Item(1) 
End Sub

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

Sub SetFirstDoc() 
    Dim docFirst As Document 
    Set docFirst = Documents(1) 
End Sub

Именованные объекты

Хотя обычно можно указать целочисленное значение с помощью метода Item , может быть удобнее возвращать объект по имени. В следующем примере фокус переключится на документ с именем Sales.doc.

Sub ActivateDocument() 
    Documents("Sales.doc").Activate 
    MsgBox ActiveDocument.Name 
End Sub

В следующем примере выделяется текст, помеченный первой закладкой в активном документе.

Sub SelectBookmark() 
    ActiveDocument.Bookmarks(1).Select 
    MsgBox Selection.Text 
End Sub

Не все коллекции можно индексировать по имени. Чтобы определить допустимые значения индекса коллекции, см. раздел объекта коллекции.

Стандартные значения индекса

Некоторые коллекции имеют предопределенные значения индекса, которые можно использовать для возврата отдельных объектов. Каждое предопределенное значение индекса представлено константой. Например, вы указываете константу WdBorderType со свойством Borders , чтобы вернуть один объект Border .

В следующем примере добавляется одна граница 0,75 пункта ниже первого абзаца в выделенном фрагменте.

Sub AddBorderToFirstParagraphInSelection() 
    With Selection.Paragraphs(1).Borders(wdBorderBottom) 
        .LineStyle = wdLineStyleSingle 
        .LineWidth = wdLineWidth300pt 
        .Color = wdColorBlue 
    End With 
End Sub

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

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