VSTO加载项+ Open XML

时间:2015-06-08 12:16:42

标签: c# excel vsto powerpoint openxml

我想开发一些加载项。这个加载项应该使用open xml(不是所有东西都可以使用VSTO + Open XML快得多),但有没有可能编辑打开的文件?例如,我已经打开PowerPoint演示文稿(或Word doc / Excel电子表格),我想用Open XML替换一些文本,我可以阅读它(从我读到的内容,可以阅读)并更新而不关闭该文件,使用当然是开放XML吗?如果是的话,该怎么办?

有一些feeddata()方法,内存流,但我不知道如何使用它。有谁可以展示一些例子吗?

3 个答案:

答案 0 :(得分:2)

以下代码适用于我:

Word.Document doc = Globals.ThisAddIn.Application.ActiveDocument;

string XML = doc.Content.WordOpenXML;

// XML Changes

doc.Content.InsertXML(XML);

答案 1 :(得分:1)

        var fileFullName = Globals.ThisAddIn.Application.ActiveDocument.FullName;

        Globals.ThisAddIn.Application.ActiveDocument.Close(WdSaveOptions.wdSaveChanges, WdOriginalFormat.wdOriginalDocumentFormat, true);

        //edit document using OpenXml here

        Globals.ThisAddIn.Application.Documents.Open(fileFullName);

这适用于Word文档。

答案 2 :(得分:0)

VSTO和Open XML的目的不同。

VSTO基本上是将办公室扩展到您在Office应用程序的上下文中运行插件的目的。并且您可以使用Com interops,因为它们已经可用。

Open XML用于自动化,例如生成或编辑文档,没有安装Office应用程序的工作簿。例如,在Asp.net服务器中,您不需要安装Office,而是使用Open XML来创建,编辑文档,电子表格或ppt。

在您的情况下,如果您采用VSTO方法,则不需要使用Open XML sdk。使用相应的互操作中可用的查找和替换功能。 更换后别忘了保存doc,xls或ppt

Word

Excel

Powerpoint