访问Outlook电子邮件信息到Excel工作表(VBA):body,HTMLbody,RTFbody是<>空

预先感谢帮助…我的Googleness今天已经失败了。

我用excel VBA发现了很多关于访问电子邮件信息的资料,而且大多数情况下我可以让他们工作。 但是由于某种原因,电子邮件正文中最关键的部分是空白的。

Dim myOlApp As Object, myNameSpace As Object Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myfolders = myNameSpace.Folders n = 1 Do Until myfolders.Item(n) = "xxxxx" n = n + 1 Loop Set myfolder = myfolders.Item(n) Set myfolder2 = myfolder.Folders("Inbox") c = 12 n = 36 For Each Item In myfolder2.Items itsj = Item.Subject itrt = Item.ReceivedTime itbo = Item.Body Cells(n, c) = itrt Cells(n, c + 1) = itsj Cells(n, c + 2) = itbo n = n + 1 Next Item 

除了Item.Body,一切似乎都奏效。 我得到了

运行时错误“287”:应用程序定义或对象定义的错误

看看.body,或者是这个问题:.HTMLBody或.RTFBody,在Locals视图中,它们都显示了<>的值。 我已经尝试了不同的人的不同的电子邮件,总是相同的结果。 我还在本地文件夹中钻取了所有其他对象,以直接引用电子邮件并获得相同的结果。 我正在使用2010年Outlook和Excel。

谢谢!

我没有与我的问题,除非实际上没有任何东西在细胞中。 所以,我修改它只是一个接触,并把它放在Application.ActiveSheet:

 Dim myOlApp As Object, myNameSpace As Object Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myfolders = myNameSpace.Folders n = 1 Do Until myfolders.Item(n) = "xxxxx" n = n + 1 Loop Set myfolder = myfolders.Item(n) Set myfolder2 = myfolder.Folders("Inbox") c = 1 n = 1 For Each Item In myfolder2.Items itsj = Item.Subject itrt = Item.ReceivedTime itbo = Item.Body Application.ActiveSheet.Cells(n, c) = itrt Application.ActiveSheet.Cells(n, c + 1) = itsj Application.ActiveSheet.Cells(n, c + 2) = itbo n = n + 1 Next Item 

我在Office 2010上。