[英]Accessing Outlook email info into excel worksheet (VBA): body, HTMLbody, RTFbody is <> empty
在此先感謝您的幫助。我的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,在“本地”視圖中,它們都顯示為<>的值。 我已經嘗試了許多來自不同人的不同電子郵件,並且總是得到相同的結果。 我還在“本地”文件夾中深入研究了所有其他對象,以直接引用電子郵件並獲得相同的結果。 我正在使用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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.