Изменить цвет текста в нижнем колонтитуле документа Word

Я использую VBA для вставки текста в нижний колонтитул документа, и я хочу изменить цвет текста.

Я пытался использовать Selection.Range.Font.ColorIndex но это не похоже на работу. Я также пытался вручную настроить цвет и записать макрос, но VBA не улавливает изменение цвета.

Кто-нибудь знает, как мне этого добиться? Благодарю.

'**
 ' Insert the required text into the footer of the document
 '
 ' @param required String footerText    The text to insert into the document footer
 ' @param Boolean insertDate            Whether or no to insert the date into the document footer
 '*
Sub DoFooterText(ByVal footerText As String, _
                 Optional ByVal insertDate As Boolean = True)

    Selection.GoTo What:=wdGoToPage, Count:=2                       ' Go to page 2 of the document (no footer on page 1)
    Selection.MoveRight Unit:=wdCharacter, Count:=1                 ' Move the cursor to the right of the document
    ActiveWindow.ActivePane.View.SeekView = wdSeekPrimaryFooter     ' Switch the view to the header
    Selection.TypeText text:=footerText                             ' Insert the footer text
    If insertDate = True Then                                       ' Insert the date into the footer
        Selection.TypeText text:=vbCrLf
        Selection.InsertDateTime _
            DateTimeFormat:="dd/MM/yyyy", _
            InsertAsField:=False, _
            InsertAsFullWidth:=False, _
            DateLanguage:=wdEnglishUK, _
            CalendarType:=wdCalendarWestern
    End If
    Selection.Range.Font.ColorIndex = wdGray50                      ' Set the colour of the footer text
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument      ' Switch the view back to the main document
    Selection.HomeKey Unit:=wdStory                                 ' Move the cursor back to the top of the document

End Sub

1 ответ

Решение

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

Это эквивалент нажатия клавиши SHIFT+Home:

Selection.HomeKey Unit:=wdLine, Extend:=wdExtend

Selection.Range.Font.ColorIndex = wdGray50                      ' Set the colour of the footer text

РЕДАКТИРОВАТЬ:

Если вы хотите выделить весь текст в нижнем колонтитуле, от того, где текст вводится до начала нижнего колонтитула (эквивалент нажатия клавиш CTRL+SHIFT+Home), используйте Selection.HomeKey Unit:=wdStory, Extend:=wdExtend вместо.

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