[英]VBA Outlook Getting the “Reply-To” Email Address from the Email
我正在尝试整理一个脚本,该脚本将使用Outlook规则将基于模板的电子邮件发送回“回复至”电子邮件地址。 我发现使用Item.ReplyRecipients(1)在某些电子邮件中非常有用,这些电子邮件地址直接存储在回复字段中。
例如,当标头具有:
回复至:EmailAddress@gmail.com
但是,其他电子邮件的标头如下所示。 在这种情况下,Item.ReplyRecipients(1)仅将返回Bob Smith,而不会返回存储在<>中的实际电子邮件。
回复至:“鲍勃·史密斯” <EmailAddress@gmail.com>
在这种情况下,如何获取实际的电子邮件地址我很茫然。 完整脚本如下
Sub BillAutoReplywithTemplate(Item As Outlook.MailItem)
Dim oRespond As Outlook.MailItem
Set oRespond =
Application.CreateItemFromTemplate("C:\Users\Me\Desktop\Outlook
Templates\TemplateTest.oft")
With oRespond
.Recipients.Add Item.ReplyRecipients(1)
.Subject = "Re: " & Item.Subject
.HTMLBody = oRespond.HTMLBody & _
vbCrLf & "---Original Message Below---" & vbCrLf & _
Item.HTMLBody
.Send
End With
Set oRespond = Nothing
End Sub
ReplyRecipients(1)将返回Recipient对象的一个实例,该实例将传递给Recipients.Add,该实例需要一个字符串。 因此,VBA通过读取默认属性(名称)将对象转换为字符串。 换线
.Recipients.Add Item.ReplyRecipients(1)
至
if Item.ReplyRecipients.Count > 0 Then
.Recipients.Add Item.ReplyRecipients(1).Address
End If
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.