如何在 Outlook 中根据特定域导出电子邮件地址?
如果您想从 Outlook 中的所有联系人中导出具有特定域的电子邮件地址,请阅读本教程,该教程将帮助您应用 VBA 代码将特定域中的所有电子邮件地址提取到文本文件中,如下图所示.
使用 VBA 代码在 Outlook 中基于特定域导出电子邮件地址
要从所有联系人中提取具有特定域的所有电子邮件地址,请执行以下步骤:
1. 创建一个新的文本文件并为其命名,请参见屏幕截图:
2。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。
3。 然后,点击 插页 > 模块,然后将以下代码粘贴到“模块窗口”中。
VBA 代码:根据特定域导出电子邮件地址
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。 然后,按 F5 运行此代码的关键。 弹出一个提示框,请输入您要导出电子邮件地址的电子邮件域,见截图:
5。 然后,点击 OK 按钮,然后将特定域中的所有电子邮件地址一次性提取到文本文件中,见截图:
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。