2014-01-23 30 views
0

我有一个程序,我需要C#来加载PowerPoint演示文稿。当i执行以下抛出异常异常尝试加载PowerPoint演示文稿

[System.Runtime.InteropServices.COMException] = { “演示(未知成员):对象不存在”}

它发生在pres.SlideShowWindow.View.First()。在此之前,我也尝试过pres.SlideShowWindow.Activate(),但在激活时得到了异常。在Run线上,powerpoint在屏幕上闪烁一会儿,我可以在幻灯片离开之前弄清幻灯片。我究竟做错了什么?

try 
{ 
    app = new Microsoft.Office.Interop.PowerPoint.Application(); 
    app.SlideShowNextSlide += new Microsoft.Office.Interop.PowerPoint.EApplication_SlideShowNextSlideEventHandler(app_SlideShowNextSlide); 
    pres = app.Presentations.Open(filename, 
     Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue,Microsoft.Office.Core.MsoTriState.msoFalse); 
    pres.SlideShowSettings.Run(); 
    pres.SlideShowWindow.View.First(); 
} 
catch (Exception f) 
{ 
    MessageBox.Show(f.Message); 
} 

回答

0

原来

app.SlideShowNextSlide += new Microsoft.Office.Interop.PowerPoint.EApplication_SlideShowNextSlideEventHandler(app_SlideShowNextSlide); 

被解雇甚至pres.SlideShowWindow.View.First();这是出乎意料的。我希望它只能在pres.SlideShowWindow.View.Next();上被解雇,但事实并非如此。由于app_SlideShowNextSlide()中的逻辑,幻灯片在到达第一张幻灯片之前已关闭,从而引发异常。

相关问题