我正在探索带有 MS Word 的 XML 作为生成具有动态内容的表单的解决方案,但我发现很难完成看似简单的任务。
使用 MSDN 中的示例
http://msdn.microsoft.com/en-us/library/office/gg605188%28v=office.14%29.aspx
假设我打开我的 xml 文档,然后更改<CompanyName>Adventure Works</CompanyName>
为<CompanyName>Gadget Co.</CompanyName>
. 如何让 .xml 文档中的更改值反映在我的 Word 文档中?
我努力了:
1) 保存、关闭和重新打开 Word 文档。
2) 再次执行ActiveDocument.CustomXMLParts(4).Load
命令。(即使在关闭和打开之后也会引发已加载错误。)
3) 用程序重新映射控件ActiveDocument.ContentControls(#).XMLMapping.SetMapping
。(没有错误,但更新内容没有变化。)
似乎大多数 XML 和 Office Suite 文档都面向 .Net 开发。我真的不想为这个解决方案扩展到 .Net,但似乎 VBA 提供的支持要有限得多。
最终,最终输出是一个邮件合并类型的文档,其中包含多个嵌套文档,可以单独解析并保存为 pdf。内容将是动态的,具有可变长度的表格和动态生成的复选框(带有相应的文本内容控件)。在这一点上,我不确定 Word 和 XML 是否可行,并且正在考虑基于 VBA 的 MS Publisher 解决方案。
对此的任何建议都非常感谢。