#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