簡體   English   中英

VBA 展望新郵件

[英]VBA outlook new mail

每次新郵件到達 Outlook 時,我都試圖運行一個函數。 我一直在做一些搜索,但每次收到電子郵件時我都找不到觸發代碼的方法。 是否有我可以使用的新郵件事件?

我向它添加了一個簡單的MsgBox以便能夠查看事件是否正在觸發,但它似乎沒有工作。 我將此代碼放在ThisOutlookSession模塊中。 有什么建議嗎? 這是我的代碼。

   Public WithEvents myOlApp As Outlook.Application

    Sub Initialize_handler()
        Set myOlApp = CreateObject("Outlook.Application")
    End Sub

    Private Sub myOlApp_NewMail()
        Dim myExplorers As Outlook.Explorers
        Dim myFolder As Outlook.MAPIFolder
        Dim x As Integer
        Set myExplorers = myOlApp.Explorers
        Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
        If myExplorers.Count <> 0 Then
            For x = 1 To myExplorers.Count
                On Error GoTo skipif
                If myExplorers.Item(x).CurrentFolder.Name = "Inbox" Then
                    MsgBox ("Test")
                    myExplorers.Item(x).Display
                    myExplorers.Item(x).Activate
                    Exit Sub
                End If
    skipif:
            Next x
         End If
         On Error GoTo 0
         myFolder.Display
    End Sub

嘗試放置:

Private Sub Application_NewMail()
    MsgBox "New mail"
End Sub

在“ThisOutlookSession”中

MSDN上有一個很好的例子,展示了如何在新郵件到達時顯示收件箱(使用Outlook.Explorers )。 您可能可以很容易地為您自己的程序調整它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM