【问题标题】:Dynamically creating Office Open XML documents: update all fields on open动态创建 Office Open XML 文档:在打开时更新所有字段
【发布时间】:2010-10-21 23:05:39
【问题描述】:

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

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

有什么建议吗?

亚历克斯

【问题讨论】:

    标签: vbscript openxml


    【解决方案1】:

    有一种方法可以在没有 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>
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • @divo 很高兴知道。感谢您确认这一点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多