vbscript - 动态创建 Office Open XML 文档 : update all fields on open

标签 vbscript openxml

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

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

有什么建议吗?

亚历克斯

最佳答案

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

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

关于vbscript - 动态创建 Office Open XML 文档 : update all fields on open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/529607/

相关文章:

vbscript - 如何在 VBScript 中转义斜杠 (/)?

mysql - 存储json,双引号转义问题

asp.net - 无法在 OpenXMl Cell 样式中使用多种字体

c# - 创建 ImagePart 不会在 OpenXML 中保存关系

Html 使用 SQL 的颜色结果更改正文背景

powershell - 通过 powershell 或 vbscript 以编程方式将现有的 ssl 证书分配给 iis6 中的网站

asp-classic - 经典 ASP (VBScript) 中的 ElseIF 语句

javascript - ExtJS 支持 OOXML 或 ODF 文件的解码吗?

excel - 如何使用 Coldfusion 创建 xlsx 文件

c# - 当 Excel 保存文档时,如何在编辑后保留 OpenXml 单元格属性?