Outlook) (MailItem.Sender 属性
返回或设置一个 AddressEntry 对象,它与从中发送 MailItem 的帐户的用户相对应。 读/写。
语法
expression。 Sender
expression 表示 MailItem 对象的变量。
注解
在会话中,如果配置文件中定义了多个帐户,可以将此属性设置为指定发送邮件项的帐户。 将此属性设置为由特定帐户的CurrentUser 属性表示的用户的 AddressEntry 对象。
如果将 Sender 属性设置为无权在该帐户上发送邮件的 AddressEntry,则 Microsoft Outlook 将引发错误。
示例
Michael Bauer 提供了以下代码示例。 Michael 是一名 Microsoft 最有价值专家,他拥有在 Visual Basic 和 Visual Basic for Applications (VBA) 中开发 Outlook 解决方案的专业知识。 Michael 负责维护 VBOffice.net 上的专业网站。
下面的 VBA 代码示例演示如何显示电子邮件发件人的详细信息。 如果发件人与用户的 Outlook 联系人通讯簿 (CAB) 中的联系人相对应,则代码示例在检查器中显示该联系人的相关信息。 如果发件人不是用户的 CAB 中的联系人,则此代码示例在对话框中显示来自用户的地址条目(取自传输提供商的通讯簿容器)的详细信息。
若要显示发件人的相关信息,用户应已在浏览器中选择 MailItem。 该代码示例还检查是否已发送所选 MailItem,因为 Sender 属性仅在已发送 MailItem 时定义。 然后,该示例访问 Sender 属性来获取 AddressEntry 对象,该对象对应于该邮件项目的发件人,并显示联系人信息(如有);否则,该示例显示地址条目详细信息。
Public Sub DisplaySenderDetails()
Dim Explorer As Outlook.Explorer
Dim CurrentItem As Object
Dim Sender As Outlook.AddressEntry
Dim Contact As Outlook.ContactItem
Set Explorer = Application.ActiveExplorer
' Check whether any item is selected in the current folder.
If Explorer.Selection.Count Then
' Get the first selected item.
Set CurrentItem = Explorer.Selection(1)
' Check for the type of the selected item as only the
' MailItem object has the Sender property.
If CurrentItem.Class = olMail Then
Set Sender = CurrentItem.Sender
' There is no sender if the item has not been sent yet.
If Sender Is Nothing Then
MsgBox "There's no sender for the current email", vbInformation
Exit Sub
End If
Set Contact = Sender.GetContact
If Not Contact Is Nothing Then
' The sender is stored in the contacts folder,
' so the contact item can be displayed.
Contact.Display
Else
' If the contact cannot be found, display the
' address entry in the properties dialog box.
Sender.Details 0
End If
End If
End If
End Sub
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。