Запуск макроса Excel на основе электронной почты Тема
Я уже нашел способ запуска макроса при обнаружении нового электронного письма.Тем не менее, я хотел бы вызвать его, только когда в строке темы электронного письма есть определенное слово.Вот строка кода, которую я нашел опубликованной JimmyPena.
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
On Error Goto ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
' ******************
' I call my macro here
' ******************
End If
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
Я думал, что если я изменю эту часть If TypeName(item) = "MailItem" Then
на If TypeName(item) = "MailItem" And Msg.Subject = "specific_subject_here" Then
, то теперь она должна запускать макрос только тогда, когда новое письмо содержит конкретнуютема в строке темы, но я получаю эту ошибку: 91-Object variable or with block variable not set
.Означает ли это, что мне также нужно объявить Msg как объект и можно ли его объединить с функцией TypeName?