3

我需要将特定的 XML 附加到 word 文档,以便元素显示在正确的位置。我可以用 OpenXML SDK 做到这一点。

问题是我也希望能够定义已经绑定在某种模板中的内容控件,以便其他人可以创建将附加 xml 的真实文档模板。好的,不确定人们会不会理解我的意思,所以我会进一步解释。

可能有许多不同的文档模板将使用相同的 XML 数据和相同的内容控件。由其他人来创建文档。

场景:由于一些变化(新布局或某些东西),一些不是程序员的家伙需要为通常的信息创建一个新表单。这与 XML 信息无关,保持不变。

“一些家伙”的最佳解决方案是在 Word 中创建文档并将内容控件拖动到位(或一些类似的解决方案)。然后,当 XML 被添加到文档中时,内容控件已预先绑定,因此没有问题。

现在这里有几点:

1) 可以预先绑定内容控件吗?如果路径中没有 XML,它会不会一直为空而不会出现问题?

2) 由于 i4i 的诉讼,像这样将内容控件绑定到 CustomXML 是否在未来的 Word 版本中仍然有效?

3)也许还有另一个比这更好的最佳解决方案吗?

提前致谢。

编辑:

要更清楚。我不想创建具有一些名称来识别它们和数据绑定 xpath 的内容控件。然而,在那一刻,路径上没有任何东西。

另一个用户进来并创建一个表单,决定布局等等,然后将内容控件添加到他想要信息的位置。

稍后使用新表格请求项目 X 的​​信息。因此,将获取该表单的副本,并将 CustomXML 添加到 Docx 文件中。现在因为 XML 模式是事先知道的,并且在决定 CC 的路径时使用,所以这个 XML 数据将被绑定到内容控件。

4

2 回答 2

2

一个不错的选择是使用VSTOVisual Studio for Office)来构建一组附加了预绑定代码的文档模板。这两篇文章为研究这种类型的解决方案提供了一个良好的开端:

有两个线程讨论了这方面的一些细节:12

使用 VSTO 的好处之一是您可以挂钩内容控制事件Word 2007 中的内容控制事件模型

如果 VSTO 不是一个选项,您可以随时查看在不启动 Microsoft Office 的情况下将自定义 XML 部件添加到文档

于 2010-08-06T14:43:12.627 回答
1

这应该非常简单。自定义控件不受 i4i 诉讼的影响,您可以使用每个控件中的 tag 属性对其进行命名(警告 - 限制为 64 个字符)。

于 2011-07-17T01:58:27.373 回答