如何使 Word 2007 在保存时更新所有字段

Kit*_*Kit 4 microsoft-word-2007 microsoft-word

如何让 Word 2007 在保存时更新所有字段?这应该包括页眉和页脚中的字段。

如果可能,请不要使用宏和 VB 代码。我想保持文件干净。

Joh*_*Zaj 6

由于 Ctrl+A 和 Ctrl+F9 不会解决页眉/页脚,并且可能需要其他故事、VBA 或其他代码,这可能是最适合 Stack Overflow 的问题。

VBA 代码可能如下所示:

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
Run Code Online (Sandbox Code Playgroud)

我不建议接管 Word 的 Save 事件来自动运行它,而是将它连接到一个按钮或让用户通过其他方式显式调用它。