Если вы обнаружите, что у некоторых контактов нет адреса электронной почты в Outlook, вы можете обработать каждую папку контактов, чтобы удалить все такие контакты. Это рost поделится с вами 2 средствами.
Возможно, у вас много контактов в Outlook, и у некоторых из них нет адреса электронной почты. Если вы считаете, что они больше не нужны, вы должны надеяться удалить все контакты без адреса электронной почты. Стандартным способом вы можете использовать «Мгновенный поиск», чтобы найти их, а затем удалить вручную, как в следующем способе 1. Тем не менее, это немного утомительно. Поэтому в Методе 2 мы научим вас другому более эффективному способу.
Способ 1: удалить вручную после поиска контактов без адреса электронной почты
- Для насtart, нажмите клавиши «Ctrl + 3», чтобы открыть панель «Контакты».
- Затем щелкните в поле поиска.
- Далее в появившейся ленте «Поиск» нажмите «Все элементы контактов».
- Затем нажмите «С адресом» > «С адресом электронной почты».
- После этого в поле поиска будет добавлен критерий «НЕ адреса электронной почты:=[]». Вам нужно убрать «НЕ».
- Впоследствии будут перечислены все контакты без адреса электронной почты.
- Теперь вы должны выбирать контакты в результатах поиска вручную, так как ваши контактные группы также должны быть в списке.
- Наконец, нажмите кнопку «Del», чтобы удалить все выбранные контакты.
Метод 2: пакетное удаление всех контактов без адреса электронной почты с помощью VBA
- Сначала нажмите «Alt + F11», чтобы запустить редактор VBA в Outlook.
- На новом экране скопируйте следующий код VBA в модуль.
Sub BatchDeleteAllContactsWithoutEmailAddress()
Dim objStore As Outlook.Store
Dim lTotalCount As Long
lTotalCount = 0
'Process all stores in your Outlook
For Each objStore In Application.Session.Stores
Call ProcessContactFolders(objStore.GetRootFolder.Folders, lTotalCount)
Next
MsgBox lTotalCount & " contacts are deleted!", vbInformation + vbOKOnly, "Delete Contacts"
End Sub
Sub ProcessContactFolders(ByVal objFolders As Outlook.Folders, lCount As Long)
Dim objFolder As Outlook.Folder
Dim i As Long
Dim objContact As Outlook.ContactItem
Dim objSubfolder As Outlook.Folder
For Each objFolder In objFolders
If (objFolder.DefaultItemType = olContactItem) And (objFolder.Name <> "Skype Contacts") Then
For i = objFolder.Items.Count To 1 Step -1
If objFolder.Items(i).Class = olContact Then
Set objContact = objFolder.Items(i)
'Delete the contact w/o email address
If (objContact.Email1Address = "") And (objContact.Email2Address = "") And (objContact.Email3Address = "") Then
objContact.Delete
lCount = lCount + 1
End If
End If
Next
'Process subfolders recursively
If objFolder.Folders.Count > 0 Then
Call ProcessContactFolders(objFolder.Folders, lCount)
End If
End If
Next
End Sub
- Позже щелкните в подпрограмме «BatchDeleteAllContactsWithoutEmailAddress».
- В конце концов, нажмите «F5», чтобы запустить этот макрос.
- Когда он завершится, вы получите сообщение о результатах, как на изображении ниже.
- Все контакты без адреса электронной почты были перемещены в папку «Удаленные».
Держитесь подальше от всех потенциальных рисков
Outlook может быть поврежден из-за множества факторов, таких как вирусы, ошибки пользователя, сбои программного обеспечения, а также сбои оборудования. Вы должны избегать повреждений Outlook, поэтому вам необходимо избегать всех этих потенциальных рисков. Например, вам нужно установить мощное антивирусное программное обеспечение на свой компьютер. Кроме того, вам необходимо регулярно создавать резервные копии данных Outlook. И последнее, но не менее важное: вам лучше подготовить прочный и надежный инструмент для ремонта, такой как DataNumen Outlook Repair. Это может исправить вашу поврежденный файл PST файл с легкостью.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая SQL Server коррупция и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com





