How do I make Word 2007 update all fields upon save? This should include fields in headers and footers.

If possible, no macros and VB code please. I want to keep the documents clean.

link|improve this question

69% accept rate
My memory is a little rusty, but I think F9 or Ctrl+F9 is involved. If you hit that before Ctrl+S, you should be fine. – Randolph West Oct 1 '10 at 5:50
Ctrl+A then Ctrl+F9 doesn't include the headers and footers. – Kit Oct 1 '10 at 6:06
This question may be of interest: superuser.com/questions/51268/… – Ash Oct 1 '10 at 8:46
feedback

1 Answer

up vote 3 down vote accepted

Since Ctrl+A and Ctrl+F9 will not address the headers/footers, and possibly other stories, VBA or other code will be required, which would probably be a question best fit for Stack Overflow.

VBA code might look like:

Sub updateFieldsIncludeHeadersFooters()
    Dim sec As Section
    Dim hdrftr As HeaderFooter

    ActiveDocument.Fields.Update 'address the fields in the main text story

    'now go through headers/footers for each section, update fields per range
    For Each sec In ActiveDocument.Sections
        For Each hdrftr In sec.Headers
            hdrftr.Range.Fields.Update
        Next
        For Each hdrftr In sec.Footers
            hdrftr.Range.Fields.Update
        Next
    Next
End Sub

I would not recommend taking over Word's Save event to run this automatically, but rather hooking it to a button or have some other way for the user to explicitly call it.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.