Если вы хотите объединить все элементы из нескольких папок Outlook и избежать дублирования, вы можете использовать метод, представленный в этой статье. Он использует код VBA, чтобы помочь вам сделать это, как пробка.

Иногда вам может понадобиться объединить элементы из нескольких папок Outlook, например, объединить все контакты из нескольких папок контактов Outlook. В этой ситуации, если среди этих папок есть дубликаты контактов, вы должны надеяться, что дубликаты могут быть удалены автоматически при объединении. В этом случае вы можете использовать следующий код VBA, чтобы легко реализовать его.
Объединение элементов из нескольких папок без дубликатов
- Для начала запустите приложение Outlook.
- Затем вы должны получить доступ к редактору Outlook VBA, нажав кнопку «Alt + F11» на главном экране Outlook.
- Далее в окне «Microsoft Visual Basic для приложений» нужно открыть неиспользуемый модуль.
- После этого вы должны скопировать следующий код VBA в этот модуль.
'Here we take "merging two folders" as an example
Sub MergeOutlookFolders_WithoutDuplicates()
Dim objSourceFolder As Outlook.Folder
Dim objTargetFolder As Outlook.Folder
Dim i, n, x As Long
Dim objItem As Object
Dim objDictionary As Object
Dim strKey As String
Set objSourceFolder = Application.Session.PickFolder
Set objTargetFolder = Application.Session.PickFolder
If objSourceFolder.DefaultItemType <> objTargetFolder.DefaultItemType Then
MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly
Else
'Merge the two folders
For i = objSourceFolder.Items.count To 1 Step -1
Set objItem = objSourceFolder.Items.Item(i)
objItem.Move objTargetFolder
Next i
Set objDictionary = CreateObject("scripting.dictionary")
'Remove the duplicates
x = 0
For n = objTargetFolder.Items.count To 1 Step -1
Set objItem = objTargetFolder.Items.Item(n)
Select Case objItem.Class
Case olMail
strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
Case olAppointment
strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
Case olContact
strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
Case olTask
strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
End Select
strKey = Replace(strKey, ", ", Chr(32))
If objDictionary.Exists(strKey) = True Then
objItem.Delete
x = x + 1
Else
objDictionary.Add strKey, True
End If
Next n
'Prompt you of the count of removed duplicates
If x <> 0 Then
MsgBox x & " duplicates removed when merging!", vbInformation + vbOKOnly
End If
End If
End Sub
- Позже вам нужно проверить настройки макроса Outlook, чтобы убедиться, что макрос включен.
- Наконец-то можно попробовать.
- Во-первых, вернемся к окну нового модуля.
- Затем нажмите кнопку F5, чтобы запустить этот макрос.
- Затем необходимо выбрать две папки для объединения. Первая — исходная, а вторая — целевая.
- После этого Outlook начнет перемещать все элементы из исходной папки в целевую. При этом дубликаты будут автоматически удалены.
- В конечном итоге вы можете получить сообщение с подсчетом удаленных дубликатов, как на снимке экрана ниже:
Крошечные ошибки могут привести к большим авариям
Несмотря на то, что Outlook загружен множеством отличных функций, он по-прежнему подвержен ошибкам и повреждениям. Возможно, вы столкнулись с различными проблемами Outlook. Многие пользователи склонны игнорировать случайные ошибки. Однако именно крошечная ошибка вызывает серьезные сбои Outlook, которые могут поставить под угрозу файл Outlook. Таким образом, вы не должны игнорировать любые мелкие ошибки. Вместо этого вы должны устранить их как можно скорее. Кроме того, вам лучше сохранить ремонт PST инструмент, такой как DataNumen Outlook Repair. Благодаря высокой скорости восстановления эта утилита опережает своих конкурентов.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный sql и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

