У меня этот модуль в VBA назначен на сочетание клавиш для изменения цвета подсветки:

Sub RotateHighlightwbColor()
  Select Case Selection.Range.HighlightColorIndex
    Case wdYellow
        Selection.Range.HighlightColorIndex = wdGray25
    Case wdGray25
        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

Но вместо wbColor я хочу использовать цвет RGB (больше вариантов цвета).

Я мог бы найти способ сделать это, но он использует Shading вместо Highlights .

Sub RotateHighlightRGB()
Select Case Selection.Font.Shading.BackgroundPatternColor

    Case RGB(255, 255, 255)
        Selection.Font.Shading.BackgroundPatternColor = RGB(1, 255, 1)
    Case RGB(1, 255, 1)
        Selection.Font.Shading.BackgroundPatternColor = RGB(0, 0, 0)
    Case RGB(0, 0, 0)
        Selection.Font.Shading.BackgroundPatternColor = RGB(255, 255, 255)
    Case Else
        Selection.Font.Shading.BackgroundPatternColor = RGB(255, 255, 255)
    End Select
End Sub

Есть ли способ использовать цвет RGB с Selection.Range.HighlightColorIndex вместо использования Shading?

1 ответ1

1

Я считаю, что ответ « Можем ли мы изменить цвет выделения » - « Нет». HighlightColorIndex должен ссылаться на список констант "Относится к". Набор констант WdColorIndex (MSDN Word 2003):

wdAuto wdBlack wdBlue wdBrightGreen wdByAuthor wdDarkBlue wdDarkRed wdDarkYellow wdGray25 wdGray50 wdGreen wdNoHighlight wdPink wdRed wdTeal wdTurquoise wdViolet

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

В приведенном примере с затенением "свойство" .shading возвращает затеняющий объект, который может получить доступ к полной цветовой модели RGB, как показано в коде выше, и на него ссылаются во многих местах, включая https://msdn.microsoft.com/en-us/. библиотека /dd355244.aspx

Замечания Office 2003 для WdColorIndex объясняют запись wdByAuthor в приведенном выше списке.

«Если для свойства InsertedTextColor установлено значение wdByAuthor, Microsoft Word автоматически назначает уникальный цвет каждому из первых восьми авторов, которые редактируют документ».

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