【问题标题】:Export Recipient Mail Address instead of Name in Outlook VBA在 Outlook VBA 中导出收件人邮件地址而不是名称
【发布时间】:2021-06-02 21:56:15
【问题描述】:

我尝试将邮件地址从我的 SentObjekts 导出到 Excel - 这工作正常。 但是收件人邮件地址“收件人”的 Outlook VBA 变量导出的是收件人的姓名,而不是邮件地址。我会在我的 Excel 中看到邮件地址。

有人知道如何只导出邮件地址吗?

 Dim RecipientEmailAddress As String
     RecipientEmailAddress = .To

【问题讨论】:

标签: vba outlook export


【解决方案1】:

以下功能应该适合您的需求。将需要一个新电子邮件的侦听器(我假设您有),但是您可以将MailItem 传递给EmailAddressInfo 函数,该函数返回一个用于发件人、收件人和抄送地址的 3 维数组。我已经包含了一个测试函数,可以用来检查这个

在电子邮件类型未知的情况下,代码应该可以通过使用CASE 声明进行扩展

Private Const olOriginator As Long = 0, olTo As Long = 1, olCC As Long = 2, olBCC As Long = 3

Function PrintEmailAddresses(olItem As MailItem)
    If olItem.Class <> olMail Then Exit Function
    
    Dim Arr As Variant: Arr = EmailAddressInfo(olItem)
    Debug.Print "Sender: " & Arr(0)
    Debug.Print "To Address: " & Arr(1)
    Debug.Print "CC Address: " & Arr(2)
End Function

Private Function EmailAddressInfo(olItem As MailItem) As Variant
    If olItem.Class <> olMail Then Exit Function
    
    Dim olRecipient As Outlook.Recipient
    Dim ToAddress, CCAddress, Originator, email As String
            
    With olItem
        Select Case UCase(.SenderEmailType)
            Case "SMTP": Originator = .SenderEmailAddress
            Case Else: Originator = .Sender.GetExchangeUser.PrimarySmtpAddress
        End Select
    End With
    
    For Each olRecipient In olItem.Recipients
        With olRecipient
            Select Case UCase(.AddressEntry.Type)
                Case "SMTP": email = .Address
                Case Else: email = .AddressEntry.GetExchangeUser.PrimarySmtpAddress
            End Select
            Select Case .Type
                Case olTo: ToAddress = ToAddress & email & ";"
                Case olCC: CCAddress = CCAddress & email & ";"
            End Select
        End With
    Next
    EmailAddressInfo = Array(Originator, ToAddress, CCAddress)
End Function

【讨论】:

    猜你喜欢
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 2019-09-19
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2016-05-28
    相关资源
    最近更新 更多