Как включить 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
Щелкнув правой кнопкой мыши и добавив фон, добавляет цвет фона