【问题标题】:new document format for word interop add-inWord 互操作插件的新文档格式
【发布时间】:2010-06-21 15:50:59
【问题描述】:

我在使用文字插件时遇到了一些问题。我正在尝试创建一种新的文档格式,并让它正常工作。该格式只是现有 docx 之上的一种编码。换句话说,我可以去掉编码,留下一个有效的 word 文档。

保存:

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

不过,理想情况下,我想在 DocumentBeforeSave 事件中截取文档,将文档作为字节数组获取,在内存中对其进行转换,然后只保存一个副本。但是,我似乎找不到获取字节数组的方法。

开幕式:

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

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

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

【问题讨论】:

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


【解决方案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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 2012-07-11
      相关资源
      最近更新 更多