VSTO Office Interop:在运行时操纵办公室XML



使用Office的XML文件有时可能是快速操纵文档的方便方法。

即。通过PowerPoint文件的ZIP数据搜索并更改文件中的XML。

我想知道是否有一种方法可以从VSTO加载项内访问和操纵文档的XML(PowerPoint,或其他方式)XML,并且是否有实时打开的文档中的更改反映?(例如,更换字符串时)。

我正在寻找不需要重新打开文档的解决方案。

答案很可能是不可能/支持的,因为我在办公室Interop API中找不到正式文档。

这应该做这项工作,但是即使>不需要重新打开文档,文档的全部内容都会重新加载...对于巨大文档,它将是 slow

在示例中,我正在使用 Word Document

var wordDocument = app.ActiveDocument;
var openXmlFormattedStr = wordDocument.Content.WordOpenXML;
var manipulatedOpenXmlFormattedStr = .....; // do something with the xml
wordDocument.Content.InsertXML(manipulatedOpenXmlFormattedStr, null);

编辑2017-12-15: Power Point和Excel Interop不会直接访问OPEN XML格式。唯一的方法是使用适当的openxml格式使用。

最新更新