Excelアドイン(VSTO)でアドインもしくはExcelがフォーカスを失った(他のアプリが選択された)事を検知したい
お世話になります。
VB.NET(FrameWork4.0)でエクセル(2007)で動作するアドイン(VSTO)を作成しております。
表題の通りでございますがエクセルからタスクバー等を通じて他のアプリケーションが選択された時にアドイン側でフォーカスを失った(Deactive)になった事を知る方法はございますでしょうか?
VisualStudio2010でRibbon1.vbやThisAddIn.vbのイベントを調べてみましたが所要の要件を満たすイベントがありませんでした。
ご存知の方居られましたらご協力お願いします。
※回答を受けてThisAddIn.vbを以下のように修正
Imports Microsoft.Office.Interop.Excel
Public Class ThisAddIn
Private Sub ThisAddIn_Startup() Handles Me.Startup
AddHandler Me.Application.WindowDeactivate, AddressOf Me.Application_WindowDeactivate
End Sub
Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
End Sub
Private Sub Application_WindowDeactivate(Wb As Microsoft.Office.Tools.Excel.Workbook, Wn As Window)
MsgBox("Deactive")
End Sub
End Class
と修正後、デバッグを実行してExcelが立ち上がった事を確認後、下のタスクバーから他のソフトをアクティブにしても Msgboxは動作しませんでした。