OutLook VBA で送受信の開始を検出する

以前、OutLookVBAで、送受信の終了を検知する記事を書きましたが、

今度は、「送受信の開始」を検出する必要が出てきました。

 

その方法。

以前とほとんど一緒ですが。

 

'以下をClass1に記述します。

Dim WithEvents mySync As Outlook.SyncObject

Sub Initialize_handler()
    Set mySync = Application.Session.SyncObjects.Item(1)
    mySync.Start
End Sub

'↓これで送受信のスタートを検知できます。

Private Sub mySync_SyncStart()
    MsgBox "送受信開始"
End Sub

'↓これで送受信の完了を検知

Private Sub mySync_SyncEnd()
    MsgBox "送受信が完了しました"
End Sub

 

'以下をThisOutLookSessionに記述します

Private Sub Application_Startup()
    Set ReceiveObj = New Class1
    Call ReceiveObj.Initialize_handler
End Sub

 

’以下を標準モジュールに記述

Public ReceiveObj As Object

 

※注意 サンプルソースでメッセージボックスを、送受信開始、送受信終了で表示していますが、送受信が終了する前に、「送受信開始」のメッセージボックスを消さないと、「送受信が完了しました」のメッセージは表示されません。