如何查看应用程序是否在VSTO中忙碌

时间:2013-07-02 03:13:42

标签: c# .net vsto powerpoint

我正在尝试将演示文稿保存为VSTO 2012(C#)中的WMV文件,这需要一段时间,在保存之后,关闭powerpoint并显示媒体。但我无法确定保存何时完成,如果在保存完成之前关闭应用程序,一切都会出错,并且没有文件! SaveAs方法显然是Async,所以我想知道是否有办法实现保存过程完成。像application.isBusy?!

Microsoft.Office.Interop.PowerPoint.Presentation objPres = ppPresens.Open(strPresentationFile, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);

objPres.SaveAs(filePath, PpSaveAsFileType.ppSaveAsWMV, MsoTriState.msoTrue);

2 个答案:

答案 0 :(得分:0)

我想您可能想要查看EApplication_PresentationSaveEventHandler,这是在保存任何打开的演示文稿之前发生的。希望这会指向正确的方向。

您可以使用以下代码段注册此活动:

Application.PresentationSave += new EApplication_PresentationSaveEventHandler(Application_PresentationSave);

答案 1 :(得分:0)

我认为你可以查询ppMediaTaskStatus。

您可以在PPT的VBA IDE的对象浏览器中检查其各种值