ExcelやWordはオブジェクトにたいして直接イベントプロシージャを作ることができるけれど、
Outlookはそれができない。
https://msdn.microsoft.com/ja-jp/library/cc344580.aspx
Outlook 起動時にApplicationオブジェクトの初期化処理で 一細工必要。
参考リンクはココ
https://www.pcreview.co.uk/forums/event-changing-task-status-t3695718.html
ThisOutlookSession code windowに記述する必要がある。
Dim WithEvents myInspectors As Inspectors
Dim WithEvents myTaskItem As TaskItem
Private Sub Application_Startup()
Set myInspectors = Outlook.Inspectors
End Sub
Private Sub myInspectors_NewInspector(ByVal Inspector As Inspector)
If TypeName(Inspector.CurrentItem) = "TaskItem" Then
Set myTaskItem = Inspector.CurrentItem
End If
End Sub
'タスクをオープンしたときの処理
Private Sub myTaskItem_Open(Cancel As Boolean)
MsgBox "Task Open!"
End Sub
'タスクをクローズしたときの処理
Private Sub myTaskItem_Close(Cancel As Boolean)
Set myTaskItem = Nothing
End Sub