Тема: Окончить цикл макроса
Только начал знакомство с макросами. Пользую "Запись", а потом леплю чего-нить. Необходим макрос, который ищет параметры заголовка (в тексте это обычно "1 Заголовок", "2 Заголовок" или "1.1 Заголовок") и применяет к данному абзацу определённый стиль. С циклами я не освоился и мой прокручивает документ Over 1000000+ раз, т.к. условие соблюдается (меняется только стиль, а текст остаётся прежним). Подскажите пож, как его завершить при достижении конца документа?
Вот собсна текст:
Sub УстановитьВсеЗаголовки1Уровня()
' Работает до удаления лишних абзацев
Selection.Find.ClearFormatting
Do
With ActiveDocument.Range.Find
.Text = "^0013[0-9]^0032"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=2
Selection.MoveEndUntil cset:=Chr(13)
Selection.Style = ActiveDocument.Styles("Headline1")
Selection.MoveRight Unit:=wdCharacter, Count:=1
Loop
End Sub
И ещё такой бонусный вопрос - если макрос применять к документу, который поступает - он работает, но если я удалю лишние абзацы, то перестаёт. Это значит, что при удалении лишних абзацев необходимо указывать перед моим текстом поиска ещё и что-нибудь вроде *(любое число символов)? Или дело в другом?