首页 文章

word interop加载项的新文档格式

提问于
浏览
1

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

保存:

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

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

开幕式:

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

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

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

2 回答

  • 0

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

    这篇MSDN文章描述了如何做到这一点:

    介绍2007 Microsoft Office System SP2的Open XML格式外部文件转换器

    MSDN上还有一个示例项目:

    Open XML Converter Interface示例代码

  • 1

    您可以使用.WordOpenXML在VSTO或VBA中获取文档

相关问题