打开XML SDK:“该进程无法访问文件'x',因为它正在被另一个进程使用。'

这是我的代码,用于修改PowerPoint演示文稿,将其保存为新文件,关闭它,然后尝试打开该文件。


var doc = PresentationDocument.Open(@"d:\temp.pptx", true);    

//... proccess presentation

doc.SaveAs(@"d:\temp2.pptx");

doc.Close();


var doc2 = PresentationDocument.Open(@"d:\temp2.pptx", false);

doc2.Close();

我不明白为什么运行时会引发异常:


该进程无法访问文件“ x”,因为它正在被另一个进程使用。


慕沐林林
浏览 158回答 2
2回答

慕的地6264312

我注意到那个doc.SaveAs()返回对象,我刚刚关闭了它var savedDoc = doc.SaveAs(@"d:\temp2.pptx") as PresentationDocument; savedDoc.Close();

莫回无

您必须使用using语句打开演示文稿。类似于以下内容:using (var doc = PresentationDocument.Open(@"d:\temp.pptx", true)){    //... proccess presentationdoc.SaveAs(@"d:\temp2.pptx");doc.Close(); //may be unnecessary}
打开App,查看更多内容
随时随地看视频慕课网APP