ich den folgenden Code verwenden, um eine Powerpoint-Folie zu zeigen und schließen:Closing Powerpoint Nach Slidshow fertig
private void StartSlideshow() {
var opApp = new Microsoft.Office.Interop.PowerPoint.Application();
ppApp.SlideShowEnd += PpApp_SlideShowEnd;
var ppPresentation = ppApp.Presentations.Open(_filename, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
var settings = ppPresentation.SlideShowSettings;
settings.Run();
}
private void PpApp_SlideShowEnd(Microsoft.Office.Interop.PowerPoint.Presentation Pres) {
Pres.Saved = Microsoft.Office.Core.MsoTriState.msoTrue;
Pres.Close();
Pres.Application.Quit();
}
Wenn ich jetzt versuchen, die Anwendung zu schließen (Pres.Application.Quit()
) Ich erhalte die folgende Ausnahme:
Application (unknown member) : Invalid request. This operation cannot be performed in this event handler.
Ich habe eine Ahnung, warum dies fehlschlägt (versucht, die Anwendung, die das Ereignis erstellt hat, zu töten), aber wenn ich diesen Befehl nicht ausführen, bleibt PowerPoint geöffnet.
Was ist der richtige Weg, um dies zu lösen?