I'm trying to set up a Word document out of Excel what actually works pretty well. However, the configuration of the footer is somehow a riddle.
The footer shall contain a date (String from variable VDate
), a vertical line |
and a Page X of Y
. Here's what I've coded so far:
...
VDate = "31.03.2022" 'String
Set WordRange = objDoc.Sections(1).Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
WordRange.Delete
With WordRange
.Text = VDate & " | Page "
.Collapse wdCollapseEnd
.Fields.Add WordRange, wdFieldPage '<-- works until here
.Collapse wdCollapseEnd
.InsertAfter " of "
.Fields.Add WordRange, wdFieldNumPages
End With
...
After adding the first field wdFieldPage
the second Collapse does not work and the word of
is inserted directly after Page
and the second field wdFieldNumPages
comes directly after the first field, leading to this:
"31.03.2022 | Page of 11"
Can anybody help? Many thanks in advance!
CodePudding user response:
Put a .MoveEnd
after .Collapse wdCollapseEnd
works:
VDate = "31.03.2022" 'String
Set WordRange = objDoc.Sections(1).Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
WordRange.Delete
With WordRange
.Text = VDate & " | Page "
.Collapse wdCollapseEnd
.Fields.Add WordRange, wdFieldPage
.Collapse wdCollapseEnd
.MoveEnd
.InsertAfter " of "
.Collapse wdCollapseEnd
.MoveEnd
.Fields.Add WordRange, wdFieldNumPages
End With