动态创建Office Open XML文档:在打开时更新所有字段

ave*_*net 3 vbscript openxml

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

当我刚刚研究过这个时,唯一的方法就是在文档打开时运行VB Script.但VB脚本默认不运行,为此工作,用户必须授权脚本,这比要求用户执行"全选,F9"更复杂,因此这违背了目的.

有什么建议吗?

亚历克斯

小智 8

没有VB Script,有一种方法可以做到这一点.

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

<w:fldSimple w:instr="TOC" w:dirty="true" />
Run Code Online (Sandbox Code Playgroud)

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

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

但是,这些都有打开文档时出现的确认对话框的缺点,该文档显示"此文档包含可能引用其他文件的字段.是否要更新此文档中的字段?"