2013-06-20 122 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

相关问题