我们需要几个单独的 Word 2007 文档来共享文档页眉中的一些简单信息,包括项目名称、地址和出版日期(页眉中的其他信息是唯一的。我的方法是创建一个简短的共享文件,其中包含此信息的内容控件。文档使用 ÏNCLUDETEXT 书签链接到这个中心文档(每个内容控件都有一个关联的书签)。它工作正常,但我认为内容控件有一种更优雅的方式可以在不使用 VB 或字段的情况下在文档之间共享信息。例如,但使用另一个可以跨文件链接的内容控件。可以使用另一个内容控件链接到另一个文件中的内容控件吗?还是我使用字段和/或 VB 是正确的?
答案1
确实应该是一条评论,但是太长了。
您没有说明如何使用内容控件,或者是否希望用户能够通过任何文档或只能通过“共享”文档来更新其值。
如果您的任何用户使用 Mac,INCLUDETEXT 字段可能是唯一的选择,但即使如此,它们也会因为不同的路径和文件命名约定而造成困难。
据我所知,除了通过 LINK 字段或 INCLUDETEXT 字段外,没有其他工具可以将内容控件链接到其他文档中的内容控件。这些天我会避免使用 LINK 字段,因为它们经常会带来麻烦。您也不能将内容控件映射到另一个文档中的自定义 XML 部分(据我所知)。
如果您想要的是内容控制和 Word 自动传播值的事实,那么我个人可能会这样做:
- 定义您的通用数据和用于存放它的 XML 结构。
- 确定除了 XML 的“主”副本之外,它应该是只读数据。
- 根据维护者或维护内容,您可以将“主文件”设为独立的 XML 文档,或设为带有自定义 XML 部分的 Word 文档。在后一种情况下,我将创建一个 Word 文档,其中包含链接到该部分中每个项目的可更新内容控件。您将获得一些廉价的值文档,并且更新理论上可以触发将数据复制到共享这些值的其他文档。
- 确保您的 XML 结构在 Document 元素内具有单个子元素,例如:
<xmlOuter><xmlInner><your elements.../></xmlInner></xmlOuter>
CustomXMLPart
使用该 XML在需要共享值的每个文档中创建。在这些文档中,使链接到数据的任何内容控件都不可更新。- 每当您修改公共数据时,请替换
<xmlInner>
的子树<xmlOuter>
。这应该可以防止替换 XML(例如通过删除/重新创建部分)会破坏内容控件和 XML 部分之间的链接的问题。但我会亲自验证这一点。 - 理论上,每个文档都可以具有 AutoOpen 代码来获取通用数据的当前版本。