Доступ к абзацам в макросе (Microsoft Word)
Одна из замечательных особенностей программирования макросов VBA заключается в том, что язык объектно-ориентированный. Это означает, что вы можете получить доступ к любой части вашего документа, используя объекты и коллекции объектов. Другими словами, вы можете управлять абзацами, даже не выбирая их.
Например, предположим, что вы хотите получить доступ к каждому абзацу документа по очереди и выполнить некоторую обработку текста в этом абзаце.
Поскольку каждый абзац представляет собой отдельный объект в документе, это относительно просто. Все объекты абзаца доступны как часть коллекции Paragraphs. Следующий код поможет вам:
iParCount = ActiveDocument.Paragraphs.Count For J = 1 To iParCount sMyPar = ActiveDocument.Paragraphs(J).Range.Text [Add processing comments to manipulate sMyPar] ActiveDocument.Paragraphs(J).Range.Text = sMyPar Next J
Первая строка кода устанавливает iParCount равным количеству абзацев в текущем документе. Цикл, начинающийся во второй строке, затем выполняет основную работу в макросе. Третья строка устанавливает строку sMyPar, равную тексту в указанном абзаце. (Когда J равно 1, вы работаете с первым абзацем. Когда J равно 2, это второй абзац и так далее.)
После завершения обработки sMyPar следующая строка устанавливает текст документа, равный измененному тексту в строке sMyPar.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (823) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Accessing_Paragraphs_in_a_Macro [Доступ к абзацам в макросе]
.