2009-02-09 67 views
3

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

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

有什么建议吗?

亚历克斯

回答

2

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

+0

@divo很高兴知道。谢谢你确认这一点。 – avernet 2009-02-18 18:53:17

7

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

当然而,这样所有字段更新,您可以更新您的文档中的设置,这些都有一个确认对话框中出现的缺点当文档打开时显示“此文档包含可能引用其他文件的字段。是否要更新本文档中的字段?”