我希望 Outlook 对来自特定电子邮件地址的电子邮件执行操作。
在 ThisOutlookSession 中我有:
Private Sub Application_NewMail() 'This triggers when a new email is recieved
Call TestSub
End Sub
在我的模块中:
Public Sub TestSub()
Dim Msg As Outlook.MailItem
Dim FromEmailAddress As String
FromEmailAddress = Msg.SenderEmailAddress
If FromEmailAddress = "Test@example.com" Then
MsgBox ("Hello")
End If
End Sub
我明白了
Run-time error '91':
Object variable or With block variable not set
在 FromEmailAddress = Msg.SenderEmailAddress
上。
我对我的代码尝试了多种变体,并耗尽了 Google 的能力。
最佳答案
最好检查发件人是否为 SMTP
或 GetExchangeUser
Dim Email_Address As String
If Item.SenderEmailType = "SMTP" Then
Email_Address = Item.SenderEmailAddress
Else
If Item.SenderEmailType = "EX" Then
Email_Address = Item.Sender.GetExchangeUser.PrimarySmtpAddress
End If
End If
关于vba - 如何获取发件人的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60444657/