自动转发宏 Outlook 2010 VBA 不会在 Outlook 启动 "Updating Folders" 上触发

Autoforward Macro Outlook 2010 VBA does not fire on Outlook Start "Updating Folders"

Windows7、Outlook 2010 Exchange.

我有一个用于传入电子邮件的自动转发宏,可以完美地将所有传入电子邮件项目转发到我需要整合的外部帐户。

唯一的问题是每次我冷启动并启动 Outlook 时,在收录器中通常 "Updating this folder..." 之后出现的项目不会自动转发。从那时起,宏再次开始完美运行。

它位于 ThisOutlookSession 中。

在以前的 Outlook 版本中,运行 类似的宏总是在启动时触发的规则。

感谢您的帮助。

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim varEntryIDs
    Dim objItem
    Dim myItem As MailItem
    Dim i As Integer
    varEntryIDs = Split(EntryIDCollection, ",")
    For i = 0 To UBound(varEntryIDs)
        Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))

        If TypeOf objItem Is MailItem Then                     

            Set myItem = objItem.Forward
            myItem.Recipients.Add "bcc.hwb@gmail.com"

            myItem.DeleteAfterSubmit = True                    
            myItem.Send
            Set myItem = Nothing
        Else
            Debug.Print "Skipping " & TypeName(objItem)
            Set myItem = Nothing
        End If
    Next
End Sub

尝试设置调用宏子而不是处理 NewMailEx 事件的规则。

如果您 运行 Exchange 处于非缓存模式,则只有当 Outlook 运行 收到新电子邮件时,事件才会触发。如果关闭并重新打开 Outlook,队列中等待发送的所有电子邮件都将出现在 Outlook 中,但事件不会触发。这是 Outlook 中的一个众所周知的问题。

您可以在 Outlook NewMail event unleashed: the challenge (NewMail, NewMailEx, ItemAdd) 文章中了解处理传入电子邮件的所有可能方法。