2014-01-23 31 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()中的邏輯,幻燈片在到達第一張幻燈片之前已關閉,從而引發異常。

相關問題