I am tying to stamp a document variable field in the footer of every page in a document. I have figured out how to add the field. However, in doing so, the page numbering fiel
Rich's answer handled the heavy lifting, but for anyone who happens upon this, wanted to spell out how I was also able to isolate the new paragraph and apply the font.
Set rng = sectionFooter.Range
rng.InsertParagraphAfter
Set rng = sectionFooter.Range
rng.Collapse wdCollapseEnd
Set newPP = rng.Paragraphs.Last
newPP.Range.Font.Size = 8
newPP.Range.Font.Name = "Arial"
rng.Fields.Add Range:=newPP.Range, Type:=wdFieldEmpty, Text:="DOCVARIABLE ndGeneratedStamp", preserveformatting:=False
If that is how you want the new field positioned, then try something like this ...
Dim docSection As word.Section, sectionFooter As word.HeaderFooter
Dim rng As word.Range
For Each docSection In ActiveDocument.Sections
For Each sectionFooter In docSection.Footers
Set rng = sectionFooter.Range
rng.InsertParagraphAfter
rng.Collapse wdCollapseEnd
rng.Font.Size = 8
rng.Font.Name = "Arial"
rng.Fields.Add Range:=rng, Type:=wdFieldEmpty, Text:="DOCVARIABLE ndGeneratedStamp", PreserveFormatting:=False
Next
Next
Based on my test, we can just remove the commented code too.
Note If we use this way, we need to set the page-number first then run the Macro.
Dim docSection As Word.Section, sectionFooter As Word.HeaderFooter
For Each docSection In ActiveDocument.Sections
For Each sectionFooter In docSection.Footers
'sectionFooter.Range.Collapse wdCollapseEnd
'sectionFooter.Range.Text = sectionFooter.Range.Text + " "
sectionFooter.Range.Collapse wdCollapseEnd
Dim newPP As Paragraph
Set newPP = sectionFooter.Range.Paragraphs.Add()
newPP.Range.Font.Size = 8
newPP.Range.Font.Name = "Arial"
ActiveDocument.Fields.Add Range:=newPP.Range, Type:=wdFieldEmpty, Text:="DOCVARIABLE ndGeneratedStamp", preserveformatting:=False
Next
Next