Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует несколько разных способов циклов по элементам коллекции. Однако рекомендуемый метод для циклов в коллекции — использовать for Each... Следующий цикл. В этой структуре Visual Basic повторяет блок инструкций для каждого объекта в коллекции. В следующем примере показано имя каждого документа в коллекции Documents .
Sub LoopThroughOpenDocuments()
Dim docOpen As Document
For Each docOpen In Documents
MsgBox docOpen.Name
Next docOpen
End Sub
Вместо отображения имени каждого элемента в окне сообщения можно использовать массив для хранения сведений. В этом примере используется массив для хранения имени каждой закладки, содержащейся в активном документе.
Sub LoopThroughBookmarks()
Dim bkMark As Bookmark
Dim strMarks() As String
Dim intCount As Integer
If ActiveDocument.Bookmarks.Count > 0 Then
ReDim strMarks(ActiveDocument.Bookmarks.Count - 1)
intCount = 0
For Each bkMark In ActiveDocument.Bookmarks
strMarks(intCount) = bkMark.Name
intCount = intCount + 1
Next bkMark
End If
End Sub
Вы можете выполнить цикл по коллекции, чтобы условно выполнить задачу на членах коллекции. Например, следующий код обновляет поля DATE в активном документе.
Sub UpdateDateFields()
Dim fldDate As Field
For Each fldDate In ActiveDocument.Fields
If InStr(1, fldDate.Code, "Date", 1) Then fldDate.Update
Next fldDate
End Sub
Вы можете выполнить цикл по коллекции, чтобы определить, существует ли элемент. Например, в следующем коде отображается сообщение, если запись автотекста с именем Filename является частью коллекции AutoTextEntries .
Sub FindAutoTextEntry()
Dim atxtEntry As AutoTextEntry
For Each atxtEntry In ActiveDocument.AttachedTemplate.AutoTextEntries
If atxtEntry.Name = "Filename" Then _
MsgBox "The Filename AutoText entry exists."
Next atxtEntry
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.