Hi Dereck,
I'll assume you know how to assign a range to the correct header or footer,
dealing with the issues of different first page, different odd and even, and
multiple sections, so this example will just show the first-section main
footer being modified.
There are a couple of ways of dealing with this, but I think it's simplest
to just look for the tabs and adjust the range's ends to exclude the parts
you don't want to modify.
Sub Example()
Dim oRg As Range
Set oRg = ActiveDocument.Sections(1).Footers( _
wdHeaderFooterPrimary).Range
With oRg
If InStr(.Text, vbTab) > 0 Then
' There is at least one tab character, so
' move the range's start to the character
' after that tab.
.MoveStartUntil vbTab, wdForward
.MoveStart wdCharacter, 1
If InStr(.Text, vbTab) > 0 Then
' There is at least one more tab character,
' so move the range's end to the character
' before that tab.
.MoveEndUntil vbTab, wdBackward
.MoveEnd wdCharacter, -1
End If
End If
' Exclude the paragraph mark if range's end is
' at end of footer.
If .Characters.Last = vbCr Then
.MoveEnd wdCharacter, -1
End If
.Text = .Text & " altered"
.Font.Color = wdColorRed
End With
Set oRg = Nothing
End Sub