Vba 如何从电子邮件线程的原始消息中获取详细信息?

Vba 如何从电子邮件线程的原始消息中获取详细信息?,vba,email,outlook,extract,Vba,Email,Outlook,Extract,我目前正试图从Outlook上特定文件夹中的电子邮件中提取日期、发件人和发件人电子邮件地址等详细信息,但最新电子邮件中的信息不是我想要的,而是来自每个线程的电子邮件中的信息 我曾尝试使用.GetParent和.GetFirst等方法,但未能实现它们。目前,我只能提取最新电子邮件的信息。 这就是我到目前为止所拥有的: Sub GetFromOutl() Dim OutlookApp As Outlook.Application Dim myNamespace As Outlook.Namespa

我目前正试图从Outlook上特定文件夹中的电子邮件中提取日期、发件人和发件人电子邮件地址等详细信息,但最新电子邮件中的信息不是我想要的,而是来自每个线程的电子邮件中的信息

我曾尝试使用
.GetParent
.GetFirst
等方法,但未能实现它们。目前,我只能提取最新电子邮件的信息。 这就是我到目前为止所拥有的:

Sub GetFromOutl()

Dim OutlookApp As Outlook.Application
Dim myNamespace As Outlook.Namespace
Dim Folder As Object
Dim i As Integer

Set OutlookApp = New Outlook.Application
Set myNamespace = Outlook.Application.GetNamespace("MAPI")
Set Folder = myNamespace.PickFolder

Workbooks("Extract emails").Sheets("Tabelle1").Activate

i = 1

For Each OutlookMail In Folder.Items
num = Folder.Items.Count
If TypeName(OutlookMail) = "MailItem" Then
    If OutlookMail.ReceivedTime >= Range("J1").Value Then
        If OutlookMail.ReceivedTime <= Range("K1").Value Then
            
            Cells(i + 1, 2).Value = OutlookMail.ReceivedTime
            Cells(i + 1, 7).Value = OutlookMail.SenderName
            Cells(i + 1, 8).Value = OutlookMail.SenderEmailAddress
            
            i = i + 1
        End If
    End If
End If
Next OutlookMail

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

Workbooks("Extract emails").Sheets("Tabelle1").Activate

End Sub
Sub-GetFromOutl()
Dim OutlookApp作为Outlook.Application
将myNamespace设置为Outlook.Namespace
将文件夹变暗为对象
作为整数的Dim i
Set-OutlookApp=新建Outlook.Application
设置myNamespace=Outlook.Application.GetNamespace(“MAPI”)
Set Folder=myNamespace.PickFolder
工作簿(“提取电子邮件”)。工作表(“表1”)。激活
i=1
对于文件夹中的每个OutlookMail.Items
num=Folder.Items.Count
如果TypeName(OutlookMail)=“MailItem”,则
如果OutlookMail.ReceivedTime>=范围(“J1”)。值,则

如果OutlookMail.ReceivedTime我建议你仔细阅读:它有我认为你需要的东西。谢谢!我想这就是我需要的。不幸的是,我无法正确地实现它。你有什么例子吗?我找不到任何内容。在代码中,使用OutlookMail.ConversationTopic获取电子邮件的对话(例如,
Set-oConversation=OutlookMail.ConversationTopic
),然后使用.GetRootItems查找该对话中的第一封邮件(
Set oRoot=oConversation.GetRootItems
…在正确声明oConversation和oRoot之后)。