我是 VBA 的新手。如果有人能为我的任务提供Excel或Outlook VBA脚本,我将不胜感激。
任务相对简单。我在一个文件夹中有超过4000个.msg格式文件(outlook电子邮件)。我想提取某些电子邮件信息(主题,发件人,CC,接收者,SentDate)并将这些信息导入excel单元格,例如:
Subject Sender CC Receiver SentTime SentDate
Re:.. Mike Jane Tom 12:00:00 23 Jan 2013
我能想到的唯一方法就是逐个打开这些 .msg文件,然后将这些信息复制并粘贴到excel中。显然,鉴于文件数量巨大,这是不现实的。
我在堆栈流上看到了一些相关的VBA脚本,但不完全是我想要的。
答案 0 :(得分:2)
您可以使用Outlook对象模型及其Namespace.OpenSharedItem方法,也可以使用Redemption及其RDOSession.GetMessageFromMsgFile方法:
set Session = CreateObject("Redemption.RDOSession")
set Msg = Session.GetMessageFromMsgFile("c:\temp\temp.msg")
MsgBox Msg.Subject
答案 1 :(得分:0)
看起来有一些开源程序可以读取.MSG文件,而不仅仅是Outlook:
选择一条消息并尝试将您想要的字段导出为更好的格式(如CSV),一旦有了这些消息,就可以很容易地将其应用于使用任何脚本语言批量生成的所有消息