お世話になっております。
Excel 2016のマクロでOutlook 2016を操作しています。
長い処理の間、メールの受信を停止したいのですがその方法をご教示いただきたくよろしくお願いします。
以下、試したことになります。
以下のコードで同期の停止をすることによってメールの受信が停止できるかと思ったのですが普通にメールを受信してしまいます。
VBA
1Public Sub Sync() 2 Dim objApp As New Outlook.Application 3 Dim sycs As Outlook.SyncObjects 4 Dim syc As Outlook.SyncObject 5 Dim i As Integer 6 7 Set sycs = objApp.Session.SyncObjects 8 9 For i = 1 To sycs.Count 10 Set syc = sycs.Item(i) 11 syc.Stop 12 Next i 13 14 '長い処理 15 16 For i = 1 To sycs.Count 17 Set syc = sycs.Item(i) 18 syc.Start 19 Next i 20End Sub
以下のコードでも受信の停止は出来ませんでした。
VBA
1Public Sub SendAndReceive() 2 Dim objApp As New Outlook.Application 3 4 objApp.Session.SendAndReceive false 5 6 '長い処理 7 8 objApp.Session.SendAndReceive true 9End Sub
ログオフすれば良いかと思ったのですがこれでも受信が出来てしまいます。
VBA
1Public Sub Logoff() 2 Dim objApp As New Outlook.Application 3 4 objApp.Session.Logoff 5 6 '長い処理 7 8 objApp.Session.Logon 9End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/02 23:21