2013-06-20 121 views
0

我得到了一個用於從PST文件中提取電子郵件地址的代碼VBA代碼。 這是非常有用的,因爲我可以選擇提取地址的文件夾。 該代碼是從「」字段中提取的。VBA代碼 - 提取電子郵件地址Outlook

我需要它從消息體以及「」從「字段中提取。

我在代碼中必須更改什麼?

Sub ExtractEmail() 
Dim OlApp As Outlook.Application 
Dim Mailobject As Object 
Dim Email As String 
Dim NS As NameSpace 
Dim Folder As MAPIFolder 
Set OlApp = CreateObject("Outlook.Application") 
' Setup Namespace 
Set NS = ThisOutlookSession.Session 
' Display select folder dialog 
Set Folder = NS.PickFolder 
' Create Text File 
Set fs = CreateObject("Scripting.FileSystemObject") 
Set a = fs.CreateTextFile("c:\email addresses.txt", True) 
' loop to read email address from mail items. 
For Each Mailobject In Folder.Items 
    Email = Mailobject.To 
    a.WriteLine (Email) 
Next 
Set OlApp = Nothing 
Set Mailobject = Nothing 
a.Close 
End Sub 

謝謝。

+0

你甚至嘗試......你有對象的MailItem所以用它來獲取領域? Mailobject.Sender,Mailobject.SenderEmailAddress,Mailobject.SenderName和Mailobject.Body,Mailobject.HTMLBody或Mailobject.RTFBody – Sorceri

+0

您正在提取To屬性的值,這是一個「;」分隔列表的收件人姓名。您需要遍歷MailItem.Recipients.Collection中的所有項目,併爲每個收件人讀取Recipient.Address屬性。 –

+0

謝謝你們兩位。 @Sorceri我無法確定所使用的標籤。很好的幫助。最後,是否可以在子文件夾中搜索代碼? – Joao

回答

0

你有mailItem對象,所以用它來獲取字段。 Mailobject.Sender,Mailobject.SenderEmailAddress,Mailobject.SenderName和Mailobject.Body,Mailobject.HTMLBody或Mailobject.RTFBody - Sorceri

您正在提取To屬性的值,這是一個「;」分隔列表的收件人姓名。您需要遍歷MailItem.Recipients.Collection中的所有項目,併爲每個收件人讀取Recipient.Address屬性。 - 梅德Streblechenko

Question with no answers, but issue solved in the comments

相關問題