导入.msg格式的电子邮件信息(包括Subject,Sender,CC,Receiver,SentDate等)

我是VBA的新手。 如果有人能够为我的任务提供Excel或Outlook VBA脚本,我将不胜感激。

任务相对简单。 我有一个文件夹中有超过4000个.msg格式的文件(Outlook电子邮件)。 我想提取某些电子邮件信息(Subject,Sender,CC,Receiver,SentDate)并将这些信息导入到excel单元格中,例如:

Subject Sender CC Receiver SentTime SentDate Re:.. Mike Jane Tom 12:00:00 23 Jan 2013 

我能想到的唯一方法就是逐个打开这些.msg文件 ,并将这些信息复制并粘贴到excel中。 显然,考虑到大量的文件,这是不现实的。

我已经看到了一些相关的VBA脚本,但不是我想要的。

您可以使用Outlook对象模型及其Namespace.OpenSharedItem方法,也可以使用Redemption及其RDOSession.GetMessageFromMsgFile方法:

 set Session = CreateObject("Redemption.RDOSession") set Msg = Session.GetMessageFromMsgFile("c:\temp\temp.msg") MsgBox Msg.Subject 

看起来像有一些开源的程序可以读取.MSG文件,而不仅仅是Outlook:

select一条消息,并尝试导出你想要的一些更好的格式,如CSV的领域,一旦你有,应该很容易应用到所有的消息批量与任何脚本语言