VBA Outlook обнаруживает новое электронное письмо

#vba #outlook

#vba #outlook

Вопрос:

РЕДАКТИРОВАТЬ: приведенный ниже код работает, если кто-то хочет его использовать. Просто убедитесь, что сохранили изменения и перезапустили Outlook. Потому что это была моя проблема.

Я нашел много ресурсов, которые объясняют, как инициировать событие при получении нового электронного письма в Outlook, но по какой-то причине я не могу заставить инициализацию работать. Ниже приведен код, который я использую. Отладка.Печать не печатается, и, похоже, это вообще не выполняется. Я не получаю отзывов от системы, поэтому у меня возникли проблемы с устранением неполадок. Есть мысли?

Я следил за этим видео на YouTube. Несмотря на выполнение шагов, я не получаю тех же результатов. https://www.youtube.com/watch?v=5qcftHAWnZI

Если это имеет значение, я использую Outlook 2013

 Private WithEvents olItems As Outlook.Items

'On start up
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace

Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")

Set olItems = olNS.GetDefaultFolder(olFolderInbox).Items

Debug.Print "Application_Startup trigerred " amp; Now()

End Sub

'New email recieved
Private Sub olItems_ItemAdd(ByVal item As Object)

Dim my_olMail As Outlook.MailItem
Dim olAtt As Outlook.Attachment

If TypeName(item) = "MailItem" Then
    Set my_olMail = item
        
        Debug.Print my_olMail.Subject
        Debug.Print my_olMail.Attachments.Count
        Debug.Print my_olMail.SenderEmailAddress
        
    Set my_olMail = Nothing
    
End If

End Sub
  

Ответ №1:

Наверное, я тупой. Все, что вам нужно сделать, это сохранить изменения и снова перезапустить Outlook. smh