繁体   English   中英

VBA Outlook从电子邮件中获取“答复”电子邮件地址

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM