Макрос для удаления всех повторяющихся экземпляров текста в документе Word. - PullRequest
2 голосов
/ 28 января 2011

Я ищу простой способ удаления повторяющегося текста в документе Word 2007.Если есть какие-то сочетания клавиш с командами Find / Replace, я этого не вижу.В противном случае, может кто-нибудь порекомендовать, как мне написать макрос, который работает следующим образом:

1- Выберите блок текста (может быть несколько абзацев, иметь маркеры и т. Д.).макрос или выполните команду.
3- макрос или команда удаляет все экземпляры выделенного текстового блока.

Любое понимание здесь?

Ответы [ 4 ]

3 голосов
/ 28 января 2011

Selection.Text возвращает текст текущего выделения.

В принципе, синтаксис вашей команды замены:

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = Selection.Text
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

Вы заменяете пустую строку, таким образом удаляете каждый экземпляр текста для поиска.

Но: Вы, конечно, должны решить, как обрабатывать форматирование выделенного текста, возможно, сначала придется проанализировать выбранный блок, потому что замена может не работать с контрольными символами, игнорируемыми Selection.Text .. Это только начало, вам нужно указать, что вы хотите, а затем спросить снова, себя или нас. Между тем Запись макроса и слово vba reference - ваши друзья.

0 голосов
/ 03 ноября 2013

Просто нажмите Ctrl + H, чтобы выделить и заменить текст, введите текст, который вы хотите удалить, и нажмите Заменить все, оставив заменить на поле ПУСТОЙ

0 голосов
/ 26 сентября 2012

У меня была точно такая же проблема, огромный список рассылки, и мне просто нужны были электронные письма.Я решил эту проблему, скопировав текст в excel, отфильтровав предложение по предложению (или маркеры) абзаца, который я хотел удалить, и удалив все строки.У меня было более 270 страниц, работало просто отлично (если текст не слишком длинный, это было намного быстрее, чем замена предложения на предложение в слове.) Или, если это вариант, просто отфильтровать с помощью текстового фильтра - начинаетсяс помощью «to:», то вы закончите через 10 секунд.Надеюсь, это поможет.

0 голосов
/ 28 января 2011

Для буквенно-цифрового текста (без новых строк) вы можете использовать функцию «Найти / Заменить», однако, как только вы попадете в область маркеров, новых абзацев и т. Д., Точное совпадение больше не будет выполняться.Если вам часто это нужно, я бы предложил использовать такую ​​программу, как LaTeX, для написания ваших документов.LaTeX позволит вам сделать этот стиль точного сопоставления больших блоков текста.Если вы работаете на Windows, то отличным пакетом LaTeX будет proTeXt, который можно найти по адресу http://www.tug.org/protext/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...