Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。884件0表題の件に付きお助け頂けませんでしょうか?前回Excelアドイン(VSTO)でアドインもしくはExcelがフォーカスを失った(他のアプリが選択された)事を検知したいで質問した者です。その際Excelがフォーカスを失った事をMicrosoft.Office.Interop.Excel.ApplicationクラスのDeactiveWindowイベントで捕まえれば良いとアドバイスを受けテスト用にサンプルを組んでみましたがイベントをキャッチしてくれません。CHROME)をタスクバーから選択してExcelをDeactiveにしてもApplication_WindowDeactivateが実行されません。ここでExcelではなくWord2007で以下のアドインを実行すると期待通りDeactiveイベントをキャッチして所要の動きをします。ClassExcelとWordでどのような差があってExcelでイベントを掴めていないのかが色々考えているのですが想像できません。どなたか直接の解決策でなくても良いので調べ方や検証の仕方などございましたらお助け頂けますでしょうか?よろしくお願いします。個の銅バッジExcelとWordの差はMDIであるかどうかだと思います。Excelの親ウィンドウ側のイベントはSetWinEventHookなどを使用すればハンドル出来なくはないのではないでしょうか。さま、WindowsAPIの利用ですね、回答がつくまでの間こちらでもGetForegroundWindowでハンドルをとにかく何かをクリックしたタイミングもしくは別スレッドで定期的に監視しようと考えておりましたがhookした方がスマートそうですね。ありがとうございます。ExcelとWordの差はMDI、ありがとうございます。ClassC#で書いたものをコンバーターで変換したので、正しいVB.NETの構文かどうかあまり自信ありません。一応動作は確認していますが。サンプルコードの提示ありがとうございます。当方でも動作確認が取れております。NativeWindowクラスを継承したExcelWindowクラスをインスタンス化してそれのDeactivceイベントを取得しているように理解しました。14:33AssignHandleメソッドの引数としてExcelのウィンドウハンドル(Application.Hwnd)を渡しています。詳しくはドキュメントを参照してみてください。ありがとうございます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。Mail送信が失敗する。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。