从Outlook邮件代替发件人ID捕获实际的电子邮件ID

时间:2019-08-05 09:20:04

标签: vba outlook outlook-vba

我每天都会收到数百封Outlook中的电子邮件,没有代表我想使用宏在excel中创建数据库的某人的回复电子邮件ID。

我已经成功创建了数据库,但是唯一的挑战是使实际的电子邮件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

1 个答案:

答案 0 :(得分:1)

有两种获取发件人电子邮件的方法:

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

 OutlookMail.SentOnBehalfOfName

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