How make Word 2007 update all fields upon save

4

0

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.

Kit

Posted 2010-10-01T05:48:26.083

Reputation: 1 347

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. – None – 2010-10-01T05:50:14.753

Ctrl+A then Ctrl+F9 doesn't include the headers and footers. – Kit – 2010-10-01T06:06:24.263

This question may be of interest: http://superuser.com/questions/51268/how-to-make-a-table-of-content-auto-update

– Ash – 2010-10-01T08:46:22.690

Typically code wouldn't be stored in an actual production document, but rather a template or external assembly using COM / Office Interop. – JohnZaj – 2012-12-02T08:08:09.357

Answers

6

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.

JohnZaj

Posted 2010-10-01T05:48:26.083

Reputation: 437