В этой статье мы рады показать вам 2 полезных метода замены цвета выделения в документе Word.
Иногда вы можете выделить разное содержимое разными цветами. Но в отличие от цвета шрифта, вы не можете использовать «Найти и заменить», чтобы найти тексты с определенным цветом выделения и заменить его другим.
Поэтому нам понадобятся некоторые обходные пути. Ниже приведены 2 способа, доступные для разных случаев.
Способ 1: заменить все цвета выделения одним и тем же
Цвет выделения, связанный с диалоговым окном «Найти и заменить», является текущим цветом, выбранным на значке выделения.
- Прежде всего, на вкладке «Главная» и в группе «Шрифт» нажмите кнопку раскрывающегося списка в команде «Цвет выделения текста». Выберите цвет, на который вы хотите изменить все цвета выделения. Например, здесь мы выбираем «Ярко-зеленый».
- Затем нажмите «Ctrl + H», чтобы вызвать диалоговое окно «Найти и заменить».
- Поместите курсор в текстовое поле «Найти что».
- Нажмите «Дополнительно», чтобы открыть дополнительные параметры, и нажмите «Формат».
- И выберите «Выделить».
- Затем поместите курсор в поле «Заменить на» и повторите шаги 4 и 5.
- Наконец, нажмите «Заменить все».
Теперь вы заменили все цвета выделения на ярко-зеленый.
Способ 2: заменить определенный цвет выделения другим
Для выполнения этой задачи требуется макрос.
- Первый и первыйost, нажмите «Alt + F11», чтобы открыть редактор VBA.
- Затем нажмите «Обычный» проект в левом столбце.
- Затем нажмите вкладку «Вставить» в строке меню.
- И выберите «Модуль» в этом раскрывающемся меню.
- Откройте новый модуль двойным щелчком мыши.
- Теперь вставьте следующие коды:
Sub ReplaceOneHighlightColorToAnother() Dim strFindColor As String Dim strReplaceColor As String Dim objDoc As Document Dim objRange As Range Application.ScreenUpdating = False Set objDoc = ActiveDocument strFindColor = InputBox("Укажите цвет (введите значение):", "Укажите цвет выделения" ) strReplaceColor = InputBox("Укажите новый цвет (введите значение):", "Новый цвет выделения") With Selection .HomeKey Unit:=wdStory With Selection.Find .Highlight = True Do While .Execute If Selection.Range.HighlightColorIndex = strFindColor, затем установите objRange = Selection.Range objRange.HighlightColorIndex = strReplaceColor Selection.Collapse wdCollapseEnd End If Loop End With End With Application.ScreenUpdating = True End Sub
- Затем нажмите кнопку «Выполнить» или нажмите «F5».
- Затем в поле «Укажите цвет выделения» введите значение, представляющее цвет, который необходимо заменить. Чтобы получить соответствующее значение определенного цвета, вы можете перейти по этой ссылке: https://docs.microsoft.com/en-us/office/vba/api/Word.WdColorIndex
- Например, если мы хотим заменить желтый цвет ярко-зеленым, мы вводим «7» в поле «Указать цвет выделения» и нажимаем «ОК».
- Затем в поле «Новый цвет выделения» введите значение нового цвета и нажмите «ОК».
Вот возможный результат замены желтого на ярко-зеленый.
Избегайте катастрофы с потерей данных
Word — отличный помощник в нашей повседневной работе. Поэтому нетрудно представить, какую катастрофу он может принести, когда рухнет. Чтобы не потерять важные данные, вы можете получить Исправление слова инструмент заранее. Имея под рукой такую утилиту, можно не беспокоиться о потере данных.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный xlsx и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com
Офис 365 kullanıyorum. Если вы хотите, чтобы ваши персонажи были такими же, как и мы, код düzenlemesi olması gerekir? Bitişik Farklı Renkteki vurgularda uygulayabilir miyiz?
Я думаю, что макрос работает только в том случае, если между цветами есть невыделенный промежуток. Если у вас есть два разных цвета выделения, соприкасающиеся друг с другом, макрос находит один пример выделения и определяет, что его «цвет» равен 999999 или что-то в этом роде, код для смешанного. Единственный способ обойти это — пройти через смешанное выделение символ за символом, чтобы определить, где происходит изменение цвета, а затем идентифицировать диапазон как два отдельных цветовых диапазона, к которым макрос может применяться отдельно. Это возможно, но намного громоздче и медленнее.
тестXNUMX
Я скопировал ваш код VBA и запустил его. Ошибки нет, но, похоже, ничего не делал. Я попробовал несколько вариантов цветов подсветки, таких как розовый (5), желтый (7) и ярко-зеленый (4). Возможно, это изменение было вызвано обновлением VBA с версией Office 365. Поиск и замена работали нормально.