在Word 2003,2007,2010文档中嵌入自定义数据

时间:2011-05-09 19:42:25

标签: c# ms-word vsto add-in

我正在开发一个Word插件,该插件必须与2003年开始的所有Word版本兼容。功能所需的一个要求是能够在文档中嵌入任意长度的自定义数据。 Word.Document.CustomDocumentProperties适用于所有必需的版本,但遗憾的是限制了数据的大小。在研究的同时,我还发现Word.Document.CustomXML可能是我需要的解决方案。但是,我无法确定此属性是否适用于Word 2003.此外,必须可以对自定义数据执行CRUD操作,但从我看到的CustomXML部分仅提供添加和检索数据的方法。我该如何处理这个要求?

1 个答案:

答案 0 :(得分:0)

关于CustomXML,请记住微软去年遇到的专利问题,导致Office 2007中的功能被删除(至少在美国)。见this blog for details。我记得删除仅限于美国版本,Office 2010 MS使用另一种方法。但这意味着您依赖于客户Office安装的补丁状态。

您可以查看Word 文档变量,而不是文档属性。从Word 95开始支持它们,可以看作附加到文档的INI文件。我已经在一个文档变量中保存了XML结构的经验(如果需要,您也可以加密XML内容)。

但是,您可以只读取或写入文档变量(或删除它们)。无法通过Word对象模型本身确保CRUD操作;这是你的应用程序负责。

请记住,(如果您的文件发出并回来电子邮件附件),您的一些客户可能会使用某些元数据删除工具;我已经看到它在法律市场上的使用很多。这些工具可以删除文档变量和Office文档属性。使用Office文档(Word,Excel),您的数据不可能100%安全地保留在文档中。