word interop加载项的新文档格式

时间:2010-06-21 15:50:59

标签: .net ms-word add-in office-interop

我在使用单词加载项时遇到了一些麻烦。我正在尝试创建一种新的文档格式,并让它有点工作。格式只是现有docx之上的编码。换句话说,我可以剥离编码并留下有效的word文档。

保存:

现在,当用户想要以新格式保存文档时,我提示保存原件,然后从磁盘读取原件,以新格式保存副本。这会在文件系统上留下2个文件(foo.docx和foo.myformat)。

理想情况下,我想拦截DocumentBeforeSave事件中的文档,将文档作为字节数组获取,将其转换为内存,只保存一个副本。我似乎无法找到获取字节数组的方法。

开放:

现在,当用户选择要以我的格式存储的文件打开时,我制作一个临时副本(tmp \ blah.docx),然后用Application.Documents.Open打开文档(tmp \ blah。 DOCX ...)。

我宁愿从内存流创建文档,这样我就可以避免创建临时文件了。是否可以从内存创建一个新的Word.Document?

任何方向都将不胜感激。非常感谢。

2 个答案:

答案 0 :(得分:1)

您尝试做的事情看起来像是Word文档的经典导入/导出转换器。从Word 2007 SP2开始,您可以使用基于OpenXML的API来创建转换器。

此MSDN文章介绍了如何执行此操作:

  

Introducing the Open XML Format External File Converter for 2007 Microsoft Office System SP2

MSDN上还有一个示例项目:

  

Open XML Converter Interface Sample Code

答案 1 :(得分:0)

您可以使用.WordOpenXML

在VSTO或VBA中获取文档