Статьи из блога
Поиск и подсвечивание одинаковых слов в документе
Вопрос от Александра:
Не могли бы вы подсказать. можно ли в Word XP сделать так, чтобы при двойном клике на любом слове в тексте, слова, похожие на него, высвечивались бы по всему документу. А потом, чтобы при очередном двойном клике все обратно бы гасло? Мне приходится достаточно много работать с текстом, править стилистику и подобной функции очень очень не хватает. Приходится постоянно лезть в поиск, менять его настройки и каждый раз прописывать нужное слово, бегая затем по всему документу. Очень неудобно...
Александр, увы, по двойному клику можно выделить только текущее слово, но никак не совершить дополнительные действия с текстом.
Возможно, вам подойдет следующий макрос, позволяющий искать в тексте документа выделенное слово и подсвечивать найденные вхождения текущим цветом. То есть, вы выделяете интересующее вас слово и запускаете макрос (например, с помощью кнопки на панели инструментов). Макрос раскрасит текущим цветом все найденные слова.
К сожалению, просто выделить найденные слова редактор с помощью VBA не позволяет (по-крайней мере, специалисты так прокомментировали). Существуют определенные ограничения...
Вот код макроса:
Sub selectWord() 'Подсвечивание цветом найденных слов Dim rTmp As Range Set rTmp = ActiveDocument.Range With rTmp.Find .Text = Selection.Text .Replacement.Text = "" .Replacement.Highlight = True .Execute Replace:=wdReplaceAll End With End Sub
Неудобство этого макроса в том, что он подсвечивает цветом найденные слова. И для того, чтобы убрать цветовое выделение, нужно либо выделить все и убрать выделение цветом (кнопка на панели инструментов), либо использовать похожий макрос:
Sub unSelectWord() 'Снятие выделение цветом With Selection.Find .ClearFormatting .Highlight = True .Replacement.ClearFormatting .Replacement.Highlight = False .Text = "" .Replacement.Text = "" .Wrap = wdFindContinue .Format = True .Execute Replace:=wdReplaceAll End With End Sub
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:
Метки: word xp | макросы | поиск и замена | форматирование
Просмотров: 28769
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрое удаление границ у таблицы
- Быстрый ввод текста с помощью команды =rand()
Комментариев: 4
убрать цветовое выделение можно проще
Есть одна идея, которая позволит решить задачу
Нужно создать новый стиль.
И присвоить стиль всем найденным словам
А потом выделить все вхождения в этот стиль
Попробуйте утилиту NotePad++ если совсем невмоготу.
Она прездназначена для редактирования программного кода и там функция подсветки реализована именно в том виде, как вы описали. Правда, с остальными возможностями ворда там беда
Очень дельные макросы, этого достаточно. Спасибо знатокам.