Одна из наиболее распространенных вещей, которые вам нужно сделать при создании макроса, — это повторять блок действий для каждого вхождения чего-либо в файл. Это может показаться странным, но те, кто программирует, очень хорошо знают ситуацию — вам нужно выполнить поиск в файле, а затем предпринять какое-то действие, повторить поиск и повторить действие, и так далее, пока не будет достигнут конец файла. Общий подход следующий:

Selection.HomeKey Unit:=wdStory [set up for your search]

Selection.Find.Execute While Selection.Find.Found     [take some action]

Selection.Find.Execute Wend

Первая строка в этом примере перемещается в начало документа.

Затем вы используете любые команды, необходимые для настройки вашего поиска. Когда встречается строка Selection.Find.Execute, Word выполняет фактический поиск. Затем Selection.Find.Found используется для управления циклом While …​ Wend. Это свойство (Selection.Find.Found) устанавливается в True каждый раз, когда выполненный поиск действительно приводит к обнаружению чего-либо. Таким образом, весь цикл While …​ Wend повторяется снова и снова, пока все, что вы ищете, будет найдено. В качестве последнего шага в цикле используется оператор Selection.Find.Execute для повторного выполнения поиска.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13072) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для пользователей старый интерфейс меню Word здесь:

link: / word-Repeating_In_a_Macro [Повторение в макросе].