3

У меня есть документ Word, содержащий более 100 страниц, полный выделенных выражений, которые я должен исправить. Как только я закончу, я должен удалить выделение.

Это легко сделать с помощью сочетания клавиш Ctrl +Alt +H, если все выделения одного цвета. (Ctrl + Пробел убирает стили, но не удаляет выделения. )

Но мины имеют несколько разных цветов, поэтому каждый раз, когда мне приходится выбирать цвет на ленте, ярлык становится бесполезным.

Есть ли способ настроить ярлык (или упрощенную процедуру), который сможет удалить выделение, не устанавливая его на ленте?

EDIT1

Этот макрос работает (RGB находится в конце цикла, и "случай не основан на нем")

  Select Case Selection.Range.Font.ColorIndex
    Case wdRed
        Selection.Range.Font.ColorIndex = wdPink
    Case wdPink
        Selection.Range.Font.ColorIndex = wdYellow
    Case wdYellow
        Selection.Range.Font.ColorIndex = wdBlue
     Case wdBlue
        Selection.Range.Font.TextColor.RGB = RGB(0, 176, 240)
    Case wdAuto
        Selection.Range.Font.ColorIndex = wdRed
    Case Else
        Selection.Range.Font.ColorIndex = wdAuto
    End Select

End Sub

Но не этот (Дело RGB (0,176,240) не распознано)

  Select Case Selection.Range.Font.ColorIndex
    Case wdRed
        Selection.Range.Font.ColorIndex = wdPink
    Case wdPink
        Selection.Range.Font.ColorIndex = wdYellow
    Case wdYellow
        Selection.Range.Font.ColorIndex = wdBlue
     Case wdBlue
        Selection.Range.Font.TextColor.RGB = RGB(0, 176, 240)
     Case RGB(0, 176, 240)
        Selection.Range.Font.TextColor.RGB = RGB(256, 176, 240)
    Case wdAuto
        Selection.Range.Font.ColorIndex = wdRed
    Case Else
        Selection.Range.Font.ColorIndex = wdAuto
    End Select

End Sub

Так что я попробовал что-то подобное, но все еще безуспешно (ничего не признается)

  Select Case Selection.Range.Font.TextColor.RGB
    Case RGB(255, 0, 0)
        Selection.Range.Font.TextColor.RGB = RGB(1, 255, 1)
    Case RGB(1, 255, 1)
        Selection.Range.Font.TextColor.RGB = RGB(0, 0, 0)
    Case RGB(0, 0, 0)
        Selection.Range.Font.TextColor.RGB = RGB(255, 0, 0)
    Case Else
        Selection.Range.Font.ColorIndex = RGB(0, 0, 0)
    End Select

End Sub

4 ответа4

4

К сожалению, я не знаю существующего ярлыка для этого.

К счастью, я был достаточно разочарован тем, что не было ярлыка для этого, я написал макрос, чтобы сделать это для меня:

Sub RotateHighlight()
'
' Rotates highlighting of selected text between:
'   None, yellow, green, blue, red, pink, none, yellow, green, ...
'
' If the selected text is highlighted with anything other than these colors,
'  the highlight is removed.  Also, if the selection includes text whose
'  highlighting is not uniform, all highlighting is removed from the selection.
'

    Select Case Selection.Range.HighlightColorIndex
    Case wdYellow
        Selection.Range.HighlightColorIndex = wdBrightGreen
    Case wdBrightGreen
        Selection.Range.HighlightColorIndex = wdTurquoise
    Case wdTurquoise
        Selection.Range.HighlightColorIndex = wdRed
    Case wdRed
        Selection.Range.HighlightColorIndex = wdPink
    Case wdNoHighlight
        Selection.Range.HighlightColorIndex = wdYellow
    Case Else
        Selection.Range.HighlightColorIndex = wdNoHighlight
    End Select

End Sub

Чтобы этот макрос был доступен в качестве сочетания клавиш при работе в Word, откройте редактор VBA (откройте любой документ Word и нажмите Alt-F11) и создайте модуль кода в шаблоне Normal:

VBA snip

Скопируйте / вставьте приведенный выше код во вновь созданный Модуль и сохраните нажатием Ctrl-S. Закройте редактор VBA.

В Word щелкните на крошечном треугольнике со стрелкой вниз, над которым расположена полоса справа от панели быстрого доступа, и выберите «Дополнительные команды»:

Словечко

В появившемся диалоговом окне выберите «Настроить ленту» из списка слева, а затем нажмите «Настроить» рядом с «Сочетания клавиш» внизу:

Словечко

Должен появиться следующий диалог:

Словечко

В разделе «Категории» прокрутите до конца и выберите «Макросы». Под «Макросы» выберите «RotateHighlight». (Если вы уже не программист VBA, RotateHighlight, вероятно, будет единственным элементом в разделе «Макросы».) Нажмите «Нажать новую комбинацию клавиш», а затем нажмите нужную комбинацию клавиш. Лично мне нравится устанавливать его на Ctrl-Alt-Shift-H. Убедитесь, что рядом с «В настоящее время назначено:» написано «[unassigned]», затем нажмите «Assign» внизу. «Закрой», когда закончите, и проверьте это!

Для ваших целей выберите текст, из которого вы хотите удалить выделение, а также добавьте дополнительный невыделенный текст вокруг него, а затем запустите макрос. Это должно очистить все выделения в выделении.

0

Этот работает

  Select Case Selection.Range.Font.TextColor.RGB
    Case RGB(0, 0, 0) 'black
        Selection.Range.Font.TextColor.RGB = RGB(255, 0, 0) 'red
    Case RGB(255, 0, 0) 'red
        Selection.Range.Font.TextColor.RGB = RGB(255, 102, 178) 'pink
    Case RGB(255, 102, 178)
        Selection.Range.Font.TextColor.RGB = RGB(51, 153, 255) 'blue ciel
    Case RGB(51, 153, 255)
        Selection.Range.Font.TextColor.RGB = RGB(178, 102, 255) 'violet
    Case RGB(178, 102, 255)
        Selection.Range.Font.TextColor.RGB = RGB(102, 204, 0) 'Green
    Case RGB(102, 204, 0)
        Selection.Range.Font.TextColor.RGB = RGB(0, 0, 0) 'black
    Case Else
        Selection.Range.Font.TextColor.RGB = RGB(0, 0, 0) 'black
    End Select

End Sub
0

Я использовал следующий код в макросе для удаления бликов любого цвета и назначил ему сочетание клавиш Alt+N:

Selection.Range.HighlightColorIndex = wdNoHighlight
Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
0

Вы можете выбрать весь документ?  Если вы можете, сделайте это, а затем нажмите «Выделить» → «Нет цвета».

            «Подсветка» → «Нет цвета»

Или, если вы предпочитаете клавиатуру, используйте Alt H I N.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .