Как включить BackgroundPatternColor или HighlightColor в определение стиля Word? - PullRequest
0 голосов
/ 05 июня 2018

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

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

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

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

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

Я буду использовать собственные макросы в качестве пользовательских стилей для таких случаев, и я помещу эти макросы на лентув папку 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
0 голосов
/ 05 июня 2018

Вы можете изменить цвет фона, но если вы не хотите, чтобы он окрашивал весь абзац, вы должны создать стиль символ и установить цвет для его свойства .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
0 голосов
/ 05 июня 2018

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

...