使用Outlook VBA获取item.recipient

时间:2015-03-11 12:11:31

标签: vba outlook ms-office outlook-vba

我需要从Outlook 2010上的项目中获取收件人电子邮件地址。

我的代码如下:

sSQL = "SELECT id from dbo.database where email_address LIKE '" & Item.RecipientEmailAddress & "'

item.recipientEmailAddress无效,但我需要这样的东西。

我知道您有一个代码调用Item.SenderEmailAddress但在这种情况下我需要收件人的电子邮件地址。

我已经看到了关于该主题的其他一些主题,但我没有设法让它们中的任何一个起作用。

2 个答案:

答案 0 :(得分:1)

对于"快速"这样做的方法,您可以将Item.ToItem.CCItem.BCC属性连接在一起,但是,这可能不是您正在寻找的内容,因为有时这些属性会存储显示名称而不是SMTP电子邮件地址。

另一种方法是为每个收件人(TO,CC和BCC)使用包含Recipient对象的Item.Recipients集合,其中包含Address属性。

您可以遍历每个收件人并将它们连接在一起。像这样:

Dim recip As Recipient
Dim allRecips As String

For Each recip In item.Recipients
    If (Len(allRecips) > 0) Then allRecips = allRecips & "; "
    allRecips = allRecips & recip.Address
Next

答案 1 :(得分:1)

MailItem类的Recipients属性返回一个Recipients集合,该集合代表Outlook项目的所有收件人。

Recipient类的Type属性返回或设置一个表示收件人类型的整数。对于MailItem,该值可以是以下OlMailRecipientType常量之一:olBCC,olCC,olOriginator或olTo。

此外,Recipient类还提供以下属性: