【问题标题】:Capturing actual on behalf of email id from outlook mail instead of the sender id代表 Outlook 邮件中的电子邮件 ID 而不是发件人 ID 捕获实际
【发布时间】:2020-05-28 19:00:46
【问题描述】:

每天,我在 Outlook 中收到数百封没有回复电子邮件 ID 的电子邮件,我想使用宏在 Excel 中为其创建数据库。

我已经成功创建了我的数据库,但唯一的挑战是验证实际的电子邮件 ID。

电子邮件来自“noreply@xxx.com;代表;Ayush Varshney “

weherien 使用 OutlookMail.SenderName,我以 noreply@xxx.com 而不是 varshneyayush@gmail.com 的形式获取详细信息。

在这种情况下,我有什么方法可以代表电子邮件 id 获取 varshneyayush@gmail.com。

Sub GetFromOutlook()

Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer

Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set Folder = OutlookNamespace.GetDefaultFolder(olFolderInbox).Folders("Net Sales Report").Folders("Sales")

i = 1

For Each OutlookMail In Folder.Items
    If OutlookMail.ReceivedTime >= Range("From_date").Value Then
        Range("eMail_subject").Offset(i, 0).Value = OutlookMail.Subject
        Range("eMail_date").Offset(i, 0).Value = OutlookMail.ReceivedTime
        Range("eMail_sender").Offset(i, 0).Value = OutlookMail.SenderName
        Range("eMail_text").Offset(i, 0).Value = OutlookMail.Body

        i = i + 1
    End If
Next OutlookMail

Set Folder = Nothing
Set OutlookNamespace = Nothing
Set OutlookApp = Nothing

End Sub

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    获取发件人的Email有两种方法:

    • OutlookMail.Sender.Address - 将提供 OnBehalfOf 电子邮件 ID
    • OutlookMail.SenderEmailAddress - 将为您提供 发件人 电子邮件 ID

     OutlookMail.SentOnBehalfOfName
    

    我想你正在寻找。这将为您提供所需的名称。

    【讨论】:

    • 我认为,OutlookMail.SenderEmailAddress 应该提供电子邮件 ID。它返回了什么?
    • 不,它给了我 noreply@xxx.com 而不是 varshneyayush@gmail.com
    • @ayushvarshney 试试.Sender.Address
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    相关资源
    最近更新 更多