Преобразование текста в комментарии (Microsoft Word)
У Моше есть документ Word, который редактировал редактор копий. Везде, где редактор вставил комментарий, он начинается с левой круглой скобки, за которой следует «ed note:», затем примечание и, наконец, правая скобка.
Для внутренних процессов Моше более выгодно иметь эти примечания как настоящие комментарии Word. Он задается вопросом, есть ли способ автоматизировать поиск этих заметок в тексте и скрыть их в комментариях Word.
Способ автоматизации этого процесса — использование макроса. Макрос может полагаться на возможности Word «Найти» и «Заменить», но добавляет некоторую обработку при обнаружении соответствующего комментария.
Sub NoteToComment() Dim sTemp As String Selection.HomeKey Unit:=wdStory With Selection.Find .ClearFormatting .Text = "\(ed note:*\)" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .MatchWildcards = True End With Do While Selection.Find.Execute sTemp = Selection.Text sTemp = Mid(sTemp, 10, Len(sTemp) - 11) sTemp = Trim(sTemp) Selection.Text = "" Selection.MoveEnd unit:=wdCharacter Selection.MoveStart unit:=wdCharacter, Count:=-1 If Selection.Text = " " Then Selection.Text = " " Selection.Collapse ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp Loop End Sub
Макрос сначала перемещается в начало документа, затем задает условия для поиска. Ищется паттерн, который заметил Моше — левая скобка, за которой следует «ed note:», затем примечание и, наконец, правая скобка — эта последовательность присваивается свойству .Text объекта Find. Обратите внимание, что перед каждой круглой скобкой стоит обратная косая черта. Если бы эти обратные косые черты не были включены, Word рассматривал бы круглые скобки как управляющие символы в шаблоне поиска. Кроме того, для свойства .MatchWildcards установлено значение True, так что свойство .Text обрабатывается как шаблон поиска.
В цикле Do While, который вводится каждый раз при нахождении подходящего комментария, переменной sTemp присваивается текст комментария. Первые 9 символов удаляются (это «(примечание редактора:») вместе с последней правой круглой скобкой. Комментарий удаляется из документа, и если после удаления остается несколько пробелов, они также удаляются.
Наконец, добавляется фактический комментарий, содержащий текст в переменной sTemp.
При использовании этого макроса нужно помнить одну вещь: он зависит от правильного соответствия шаблону комментария. Это означает, что если есть некоторые комментарии, которые в точности не соответствуют шаблону, они могут быть не найдены и преобразованы (например, если после открывающей левой круглой скобки стоит пробел). Кроме того, если комментарии в документе содержат примечания в скобках внутри комментария (другими словами, в комментарии есть вложенные круглые скобки), которые испортят то, что найдено при поиске с использованием подстановочных знаков, и то, что впоследствии окажется в комментарии.
_Примечание : _
Если вы хотите узнать, как нам Для макросов, описанных на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, которая включает полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1797) относится к Microsoft Word 2007, 2010, 2013 и 2016.