1
我打開一個PowerPoint幻燈片一些C#代碼,簡報發行刷新圖表,然後退出。退出時
這工作得很好,除非用戶已經有一個PowerPoint幻燈片打開,在這種情況下,一旦該exe已經運行它會關閉其現有會話(失去他們可能做出的任何改變!)。
因此,問題是如果你在後臺打開了PPT,運行我的EXE,它運行下面的代碼(打開一個模板,刷新一些圖形,保存並關閉),在應用程序退出時它將變量ppApp這似乎關閉每個正在運行的PPT。
這是即使是情況下,如果我省略ppApp.Quit();
PowerPoint.Application ppApp = new PowerPoint.Application();
PowerPoint.Presentation ppPres = ppApp.Presentations.Open(MITemplate, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
//refresh graphs
foreach(PowerPoint.Slide sl in ppPres.Slides)
{
foreach (PowerPoint.Shape sh in sl.Shapes)
{
if (sh.Type.Equals(Microsoft.Office.Core.MsoShapeType.msoLinkedOLEObject))
{
sh.LinkFormat.SourceFullName = XLTemplate + sh.LinkFormat.SourceFullName.Substring(sh.LinkFormat.SourceFullName.LastIndexOf("\\") + 1);
sh.LinkFormat.Update();
}
}
}
ppPres.SaveAs(outputFilename);
ppPres.Close();
ppApp.Quit();