更改 Word 文档页脚中的文本颜色

Change the colour of text in the footer of a Word document

我正在使用 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

您需要先 select 要更改颜色的文本。尝试在设置文本颜色的行之前添加下面的行。

相当于按SHIFT+Home:

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

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

编辑:

如果要select页脚中的所有文本,从输入文本的位置到页脚开头(相当于按 CTRL +SHIFT+Home), 请改用 Selection.HomeKey Unit:=wdStory, Extend:=wdExtend