如何从excel中的.msg文件中提取数据?

时间:2017-09-14 08:37:54

标签: vba excel-vba excel

我目前正在努力解决以下问题:

我试图改进某些工作流程,包括组织存储在文件夹中的大量项目电子邮件(.msg)。需要从' Message.msg'重命名文件。来自Sender-Message.msg'。

的DateSent

现在使用excel宏很容易重命名,但我真的很难从.msg中获取所需的数据。

有没有办法让excel从.msg文件中读取一些信息?我到目前为止所尝试的一切都失败了。我对发件人和发送日期感兴趣。

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

这是一些启动代码

Option Explicit

Sub getMsgData()

    ' add reference to microsoft outlook object library

    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")

    Dim mailDoc As Outlook.MailItem
    Dim i As Long
    i = 1

    Dim nam As Variant
    For Each nam In Array("test.msg", "test2.msg")
        Set mailDoc = olApp.Session.OpenSharedItem(ActiveWorkbook.Path & "\" & nam)
        Sheets("sheet1").Range("a1").Offset(i) = mailDoc.SentOn
        Sheets("sheet1").Range("a1").Offset(i, 1) = mailDoc.Sender
        mailDoc.Close False
        i = i + 1
    Next nam

    olApp.Quit

    Set mailDoc = Nothing
    Set olApp = Nothing

End Sub