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