3

我正在以编程方式生成 Office Open XML 文档(Word 2007 格式),并且希望在我生成的文档首次在 Word 中打开时更新所有字段。

当我前段时间对此进行研究时,唯一的方法是在文档打开时运行 VB 脚本。但是 VB Script 默认情况下不运行,为此用户必须授权脚本,这比要求用户执行“全选,F9”更复杂,因此这违背了目的。

有什么建议吗?

亚历克斯

4

2 回答 2

8

有一种方法可以在没有 VB 脚本的情况下做到这一点。

您可以将字段设置为脏,并且在打开文档时它会更新。

<w:fldSimple w:instr="TOC" w:dirty="true" />

如果您有许多字段,您可以更新文档中的设置,以便在打开文档时更新所有字段

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:updateFields w:val="true" />
</w:settings>

但是,它们都有一个缺点,当打开文档时会出现一个确认对话框,上面写着“此文档包含可能引用其他文件的字段。您要更新此文档中的字段吗?”

于 2010-08-26T19:32:04.937 回答
2

你的研究已经显示了正确的结果。使用 VBA 或任何其他形式的 Word 自动化是唯一的方法。Word 和 OpenXML 都可以选择在打开时自动更新字段。

于 2009-02-16T23:57:21.257 回答