How to export email addresses based on specific domain in Outlook?
If you want to export the email addresses with a specific domain from all contacts in your Outlook, please read this tutorial which will help you to apply a VBA code for extracting all the email addresses in a specific domain to a text file as below screenshot shown.
Export email addresses based on specific domain in Outlook with VBA code
To extract all email addresses with a specific domain from all contacts, please do with the following steps:
1. Create a new text file and give a name to it, see screenshot:
2. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
3. Then, click Insert > Module, and paste the following code in the Module Window.
VBA code: Export email addresses based on specific domain
Dim GDomain As String
Dim GFileSystem As Object
Dim GFilePath As String
Dim GFileObj As Object
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal ipOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub ExportListOfEmailAddressesInSpecificDomain()
'Updateby ExtendOffice
Dim xStore As Store
Dim xFolder As Folder
On Error Resume Next
GDomain = InputBox("Enter domain(@***.com):", "Kutools for Outlook")
If Len(GDomain) <> 0 Then
GFilePath = "C:\Users\skyyang\Desktop\Email Addresses with specific domain.txt" 'Specify the file path
Set GFileSystem = CreateObject("Scripting.FileSystemObject")
Set GFileObj = GFileSystem.CreateTextFile(GFilePath, True)
For Each xStore In Application.Session.Stores
For Each xFolder In xStore.GetRootFolder.Folders
If xFolder.DefaultItemType = olContactItem Then
Call ProcessFolders(xFolder)
End If
Next
Next
GFileObj.Close
ShellExecute 0&, vbNullString, GFilePath, vbNullString, vbNullString, 1
End If
End Sub
Sub ProcessFolders(ByVal Fld As Outlook.Folder)
Dim xContactItems As Items
Dim I As Long
Dim xContact As ContactItem
Dim xSubFolder As Folder
On Error Resume Next
Set xContactItems = Fld.Items
For I = xContactItems.Count To 1 Step -1
If xContactItems(I).Class = olContact Then
Set xContact = xContactItems(I)
If InStr(xContact.Email1Address, GDomain) > 0 Then
GFileObj.WriteLine (xContact.Email1Address & vbCrLf)
ElseIf InStr(xContact.Email2Address, GDomain) > 0 Then
GFileObj.WriteLine (xContact.Email2Address & vbCrLf)
ElseIf InStr(xContact.Email3Address, GDomain) > 0 Then
GFileObj.WriteLine (xContact.Email3Address & vbCrLf)
End If
End If
Next
If Fld.Folders.Count > 0 Then
For Each xSubFolder In Fld.Folders
If xSubFolder.DefaultItemType = olContactItem Then
Call ProcessFolders(xSubFolder)
End If
Next
End If
End Sub
4. And then, press F5 key to run this code. A prompt box is popped out, please type the email domain that you want to export the email addresses based on, see screenshot:
5. Then, click OK button, and all the email addresses in the specific domain are extracted into the text file at once, see screenshot:
Best Office Productivity Tools
Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook
β Email Automation: Auto Reply (Out of Office) / Schedule Send emails / Auto CC/BCC / Advanced Auto Forward / Auto Add Greating ...
β Email Management: Easily Recall Emails / Block Scam Emails / Delete Duplicate Emails / πAdvanced Search / Consolidate Folders ...
π Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
π Interface & Interaction Magic: πMore Pretty and Cool Emojis / Brings Browser Tabs Right Into Your Outlook / Minimize Outlook Instead of Closing ...
π One-click Wonders: Reply All with Incoming Attachments / Anti-Phishing Emails / πShow Sender's Time Zone / Send to Recipients Separately ...
π©πΌβπ€βπ©π» Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...
Over 100 Features Await Your Exploration! Click Here to Discover More.