使用Office的XML文件有时可以是快速处理文档的便捷方法。
即搜索PowerPoint文件的ZIP数据并更改文件中的XML。
我想知道是否有一种方法可以从VSTO加载项中访问和处理文档(PowerPoint或其他)的XML,更改是否可以实时反映在当前打开的文档中?(例如,替换字符串时)。
我正在寻找一种不需要重新打开文档的解决方案。
答案很可能是不可能/不受支持的,因为我在Office Interop API中找不到官方文档。
这应该可以完成工作,但是请记住,即使不需要重新打开文档,文档的全部内容也会重新加载...对于庞大的文档,这会很慢。
例如,我使用Word文档。
var wordDocument = app.ActiveDocument;
var openXmlFormattedStr = wordDocument.Content.WordOpenXML;
var manipulatedOpenXmlFormattedStr = .....; // do something with the xml
wordDocument.Content.InsertXML(manipulatedOpenXmlFormattedStr, null);
EDIT 2017-12-15: Power Point和Excel互操作不公开对打开xml格式的直接访问。唯一的方法是将.SaveAs与适当的openxml格式一起使用,然后从文件系统中读取内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句