如何从 Outlook 联系人中批量删除具有特定域的所有电子邮件地址

立即分享:

有时,您可能希望从联系人中删除所有特定域名的电子邮件地址。在这种情况下,您肯定不愿意逐个删除。因此,本文将教您一种更便捷的方法。

例如,一家公司更改了名称。 同时,公司域名也发生了变化。 但是,在 Outlook 中,您存储了该公司的许多联系人,这些联系人的电子邮件地址是旧域。 当然,这些电子邮件地址不再有效。 因此,在这种情况下,如果您想一次性删除这些电子邮件地址,可以使用以下方式。从您的 Outlook 联系人中批量删除具有特定域的所有电子邮件地址

从联系人中批量删除具有特定域的所有电子邮件地址

  1. 首先,使用快捷键“Alt + F11”访问 Outlook VBA 编辑器。
  2. 然后,在新窗口中,将以下 VBA 代码放入一个空模块中。
Dim strDomain As String

Sub BatchRemoveAllEmailAddressesInSpecificDomain()
    Dim objStore As Store
    Dim objFolder As Folder
    Dim lTotalCount As Long
 
    'Input the specific domain
    strDomain = InputBox("Enter the specific domain:", , "@false.com")
 
    If Len(strDomain) <> 0 Then
       lTotalCount = 0
       'Process all Contact folders in your Outlook
       For Each objStore In Application.Session.Stores
           For Each objFolder In objStore.GetRootFolder.Folders
               If objFolder.DefaultItemType = olContactItem Then
                  Call ProcessContactFolders(objFolder, lTotalCount)
               End If
           Next
       Next
 
       'Prompt you
       MsgBox lTotalCount & " email addresses in " & strDomain & " are removed!", vbInformation + vbOKOnly
    End If
End Sub

Sub ProcessContactFolders(ByVal objCurrentFolder As Folder, ByRef lCount As Long)
    Dim objContacts As Items
    Dim i As Long
    Dim objContact As ContactItem
 
    Set objContacts = objCurrentFolder.Items
 
    For i = objContacts.Count To 1 Step -1
        If TypeName(objContacts(i)) = "ContactItem" Then
           Set objContact = objContacts(i)
 
           'Check 3 email addresses of each contact
           If InStr(objContact.Email1Address, strDomain) > 0 Then
              lCount = lCount + 1
              objContact.Email1Address = ""
              objContact.Email1DisplayName = ""
           ElseIf InStr(objContact.Email2Address, strDomain) > 0 Then
              lCount = lCount + 1
              objContact.Email2Address = ""
              objContact.Email2DisplayName = ""
           ElseIf InStr(objContact.Email3Address, strDomain) > 0 Then
              lCount = lCount + 1
              objContact.Email3Address = ""
              objContact.Email3DisplayName = ""
           End If
 
           objContact.Save
        End If
     Next
 
     If objCurrentFolder.Folders.Count > 0 Then
        For Each objSubfolder In objCurrentFolder.Folders
            Call ProcessContactFolders(objSubfolder, lCount)
        Next
     End If
End Sub

VBA 代码 - 从联系人中批量删除具有特定域的所有电子邮件地址

  1. 之后,将光标置于“BatchRemoveAllEmailAddressesInSpecificDomain”子程序中。
  2. 最后,单击“F5”键按钮触发该宏。
  3. 随后,在弹出的对话框中输入具体域。输入域
  4. 单击“确定”后,宏将运行。
  5. 完成后,您将收到有关结果的消息。结果提示
  6. 现在,您可以检查联系人。 具有特定域的所有电子邮件地址必须已经消失。删除的电子邮件地址

保留您的 Outlook 文件

随着围绕您的 Outlook 的风险越来越多,保护您宝贵的 Outlook 数据变得越来越困难。 例如,您不仅要坚持定期进行数据备份,还必须注意您的操作。 轻易相信来自未知发件人的任何电子邮件是不明智的。 否则,如果它带有病毒,您的 Outlook 文件将被感染。 那时,你必须尝试 Outlook修复 通过一个出色的修复工具,例如 DataNumen Outlook Repair.

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 Sql Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。