0
Microsoft Wordの相互運用機能は、ユーザーが閉じるときを検出するためにQuit
イベントを提供しています:(オフィス相互運用機能)
var word = new Microsoft.Office.Interop.Word.Application();
var events = (Microsoft.Office.Interop.Word.ApplicationEvents4_Event)word;
events.Quit += Word_Quit;
は、Microsoft Excelのための同様のものがありますか?私は、同様のインタフェースを発見したが、残念ながら何のQuit
イベントはありません。
var excel = new Microsoft.Office.Interop.Excel.Application();
var events = (Microsoft.Office.Interop.Excel.AppEvents_Event)excel;
特定のファイルが開いているかどうかを確認します。あなたはそれを追跡するために[WorkbookBeforeClose](https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.appevents_event.workbookbeforeclose.aspx)を使うことができます。しかし、ドキュメントを閉じることは、アプリケーションを閉じることを意味しません。 – BrakNicku
@BrakNicku WorkbookBeforeCloseは、ユーザーがドキュメントを保存する前に起動します。したがって、文書が閉じられた正確な時点はありません。 – cheeesus
イベントハンドラでは、標準の保存ダイアログ( 'DisplayAlerts = false')を非表示にして、独自に表示することができます。この方法でドキュメントを閉じる瞬間を知ることができますが、主な問題はドキュメントを閉じることです>その質問には答えません。 – BrakNicku