首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开XML SDK以编辑活动文档

打开XML SDK以编辑活动文档
EN

Stack Overflow用户
提问于 2010-03-14 21:18:44
回答 4查看 2.4K关注 0票数 8

是否可以使用Open XML sdk来操作当前在Office应用程序(word/ppt)中打开的文档的某些部分。我知道最简单的事情是使用VSTO,但它很慢,而且会涉及到剪贴板用于插入元素,OXML sdk是直接和简单的。

如果有人可以发布一些代码样本,那就太好了。

提前感谢

Rakesh

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-19 23:56:09

显然,如果没有Sharepoint,你就无法做到这一点。

根据Zeyad Jarabi/..

...you需要一个能够理解如何获取共享锁(如SharePoint或SkyDrive)的平台。如果没有这个概念,那么应用程序和软件开发工具包只能采用读或写锁定,这将阻止这两种技术访问同一文件。

票数 -1
EN

Stack Overflow用户

发布于 2012-07-03 08:55:34

是的,可以使用XMLSDK2修改打开的OpenXML文档,然后使用更改后的XML语言更新打开的文档。

http://msdn.microsoft.com/en-us/library/ff191178.aspx

http://code.msdn.microsoft.com/Improve-Automation-415bff13

基本上,您从一个范围中获取xml,将其视为流,将其打包,在包上使用sdk,然后通过反向过程插入修改后的xml。

明智的是,sdk的这种常识用法是不可能的。然而,这是错误的。

票数 5
EN

Stack Overflow用户

发布于 2010-03-14 21:24:17

如下所示:

代码语言:javascript
复制
//include the namespace

using DocumentFormat.OpenXml.WordProcessing

//Open and manipulate temp.docx 

using (WordprocessingDocument myDoc = WordprocessingDocument.Open("temp.docx", true)) 
{
    //Access main part of document 
    MainDocumentPart mainPart = myDoc.MainDocumentPart; 

    //Add new comments part to document 
    mainPart.AddNewPart<WordprocessingCommentsPart>(); 

    //Delete Styles part within document 
    mainPart.DeletePart(mainPart.StyleDefinitionsPart); 

    //Iterate through all custom xml parts within document 
    foreach (CustomXmlPart customXmlPart in mainPart.CustomXmlParts) {
        //DO SOMETHING 
    }
}

此外,您还可以使用LINQ来避免foreach循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2442241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档