VBA outlook new mail - PullRequest
       5

VBA outlook new mail

0 голосов
/ 22 мая 2011

Я пытаюсь запустить функцию каждый раз, когда в 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

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Попробуйте поставить:

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

В "ThisOutlookSession"

0 голосов
/ 22 мая 2011

На MSDN есть хороший пример, показывающий, как отображать входящие сообщения при получении нового письма (используя Outlook.Explorers). Вы, вероятно, можете довольно легко адаптировать его для своей собственной программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...