Как включить BackgroundPatternColor или HighlightColor в определение стиля Word?

Поскольку цветовая палитра Highlight в Ms-Office/Word очень ограничена, в некоторых документах Word мы используем BackgroundPatternColor, чтобы задать цвет фона текста.

Вопрос:
Я хотел бы определить пользовательский стиль как ответвление обычного стиля, который включает в себя пользовательский цвет фона.
В диалоге определения стиля я не нашел ни одной опции, где бы я мог включить bgcolor для выделения. Есть идеи?

Примечание. Единственный вариант, близкий к этому, это так называемый "Граница"> "Затенение"> "Цвет заливки", но он всегда распространяется на всю строку / абзац и не может применяться к меньшему.

3 ответа

Решение

Вы можете изменить цвет фона, но если вы не хотите, чтобы он окрашивал весь абзац, вы должны создать стиль символа и установить цвет для его .Font имущество.

(Примечание: вы также можете создать так называемый "связанный" стиль, который можно использовать как для форматирования абзацев, так и для шрифтов, но они обычно не одобряются в кругах профессиональной документации.)

Вот пример

Sub ChangeStyleColor()
    Dim styl As word.style
    Dim stylName As String
    Dim color As word.WdColor

    stylName = "fontBlueBackground"
    color = wdColorAqua

    ' the style might not exist - if not, create it
    On Error Resume Next
    Set styl = ActiveDocument.styles(stylName)
    On Error GoTo 0

    If styl Is Nothing Then
        Set styl = ActiveDocument.styles.Add(stylName, word.WdStyleType.wdStyleTypeCharacter)
        styl.BaseStyle = word.WdBuiltinStyle.wdStyleDefaultParagraphFont
    End If

    CharStyleBackgroundColor styl, color

End Sub

Sub CharStyleBackgroundColor(styl As word.style, color As word.WdColor)
    styl.Font.Shading.BackgroundPatternColor = color
End Sub

Пока кто-то не придумает встроенный ответ
как обычно, я буду использовать обходной путь:

Я буду использовать пользовательские макросы в качестве пользовательских стилей для таких случаев, и я помещу эти макросы на ленту в папку m-styles.
Например:

Sub F_HáttérSzín_Hupilila()
    Dim SzínKód As Variant
    SzínKód = 13444920
    Selection.Font.Shading.BackgroundPatternColor = SzínKód
End Sub

Щелкнув правой кнопкой мыши и добавив фон, добавляет цвет фона

Другие вопросы по тегам