Propriedade MailItem.Sender (Outlook)
Retorna ou define um objeto AddressEntry que corresponde ao usuário da conta da qual o MailItem é enviado. Leitura/gravação.
Sintaxe
expressão. Sender
expressão Uma variável que representa um objeto MailItem.
Comentários
Em uma sessão onde várias contas são definidas no perfil, é possível definir esta propriedade para especificar a conta da qual será enviado um item de email. Defina essa propriedade para o objeto AddressEntry do usuário representado pela propriedade CurrentUser de uma conta específica.
Se você definir a propriedade Sender como uma AddressEntry que não tenha permissões para enviar mensagens nessa conta, o Microsoft Outlook emitirá um erro.
Exemplo
Michael Bauer forneceu o exemplo de código a seguir. Michael é um Microsoft Most Valuable Professional com experiência no desenvolvimento de soluções do Outlook no Visual Basic e no Visual Basic for Applications (VBA). Michael mantém um site profissional em VBOffice.net.
Os exemplos de código VBA a seguir mostram como exibir os detalhes do remetente de um email. Se o remetente corresponde a um contato no Catálogo de Endereços de Contatos do Outlook (CAB), o exemplo de código exibe as informações sobre esse contato em um inspetor. Se o remetente não é um contato no CAB do usuário, o exemplo de código exibe detalhes da entrada de endereço do usuário (obtidas do contêiner do catálogo de endereços do fornecedor de transporte) em uma caixa de diálogo.
Para exibir informações sobre um remetente, o usuário deveria ter selecionado um MailItem no explorador. O exemplo de código também verifica se o MailItem selecionado foi enviado porque a propriedade Sender só será definida se Mailtem tiver sido enviado. O exemplo depois acessa a propriedade Sender para obter o objeto AddressEntry que corresponde ao remetente desse item de email e exibe as informações de contato, se elas existirem. Caso contrário, o exemplo exibe os detalhes de entrada do endereço.
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
Confira também
Como criar um item que possa ser enviado de uma conta específica baseada na pasta atual
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.