如何让 Word 2007 在保存时更新所有字段?这应该包括页眉和页脚中的字段。
如果可能的话,请不要使用宏和 VB 代码。我想保持文档干净。
答案1
由于 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
我不建议接管 Word 的保存事件来自动运行它,而是将其挂接到按钮上或让用户以其他方式明确调用它。