Word VBA Макросы: Найти первое слово в документе, написанное с большой буквы, с заданной страницы

Автор Anton, 11 мая 2018, 16:43

Anton

Как найти самое первое слово в документе на второй странице, написанное с большой буквы?
Если такового нет на второй странице, тогда смотреть далее.

Администратор

Макрос
Sub Макрос()

    Dim rng As Range, rng_res As Range
   
   
    ' Присваиваем позиции, которая находится в начале второй страницы, имя "rng".
        ' Можно мысленно представить, что мы ставим текстовый курсор в начало второй страницы.
    Set rng = ActiveDocument.GoTo(What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2)
   
    ' Настраиваем поиск и ищем.
    With rng.find
        ' Поиск вперед по файлу.
        .Forward = True
        ' Что искать.
        .Text = "<[A-ZА-ЯЁ]*>"
        ' Остановиться в конце файла, чтобы поиск не продолжился от начала файла до места нахождения.
        .Wrap = wdFindStop
        ' Используем подстановочные символы.
        .MatchWildcards = True
        ' Запуск поиска.
        If .Execute = True Then
            ' Присваиваем найденному фрагменту имя "rng_res".
            Set rng_res = .Parent
        End If
    End With
   
    ' Если в переменной "rng_res" слово Nothing, значит не было найдено.
    If rng_res Is Nothing Then
        MsgBox "Не найдено.", vbExclamation
        Exit Sub
    End If
   
    ' Здесь работаем с найденным фрагментом. Например выводим текст в View - Immediate Window.
    Debug.Print rng_res.Text
   
End Sub
[свернуть]

Anton

Большое спасибо!
Вот только поиск немного исправил, а то выводит только букву.
Сделал так:
.Text = "<[A-ZА-ЯЁ][а-яё]@>"