我有一个 word 文档,其中有一个 pageref 字段指向另一页上的书签。当我创建该字段时,它会显示正确的值(比如说第 4 页)。然后我在第 4 页之前输入内容,将内容推送到第 5 页。然后我尝试一种自动更新字段的方法(在文档打开时运行宏,或将 updateFields 标记输入到文档的设置文件中),在这两种情况下,字段更新为不正确的值。除了在文档已经打开后更新字段外,我无法在字段中获取正确的值。
这是一个已知的问题?我在安装 Word 2013 时遇到了一些奇怪的问题吗?有没有人知道如何在不需要用户采取行动的情况下更新字段(最好没有宏)?
编辑: 澄清我是如何生成这个文档的:它最初是一个 openxml 生成的文档,但是这种行为可以通过 word 创建的新 word 文档重复
无论更新是通过宏还是字设置完成,pageref 字段都会更新为不正确的值。有关我尝试过的宏,请参见下文。另请注意,如果我在文档打开后手动运行此宏,则字段会更新为正确的值
Sub AutoOpen()
With Options
.UpdateFieldsAtPrint = True
.UpdateLinksAtPrint = True
End With
ActiveDocument.Fields.Update
End Sub