Как объединить две папки без дубликатов в одну папку в Outlook?
В Outlook у вас может быть много учетных записей электронной почты с множеством папок, и в некоторых случаях вы хотите объединить две папки в одну и удалить повторяющиеся элементы. Как быстро решить эту задачу? В этой статье я представляю код VBA, который поможет вам справиться с этим как можно быстрее в Outlook.
Объединение двух папок без дубликатов в одну с помощью кода VBA
Объединение нескольких папок и удаление дублирующихся элементов с помощью Kutools для Outlook
Объединение двух папок без дубликатов в одну с помощью кода VBA
Чтобы объединить две папки в одну и удалить повторяющиеся элементы, вы можете сделать это с помощью кода VBA, выполнив следующие шаги:
1. Нажмите клавиши «Alt + F11», чтобы открыть окно «Microsoft Visual Basic для приложений».
2. Дважды щелкните «ThisOutlookSession» из «Project1» в левой панели, затем скопируйте и вставьте приведенный ниже код в правое окно скрипта.
VBA: Объединение двух папок без дубликатов
Sub MergeOutlookFolders_WithoutDuplicates()
'UpdatebyExtendoffice20180521
Dim xSourceFolder As Outlook.Folder
Dim xTargetFolder As Outlook.Folder
Dim xCount, i As Long
Dim xItem As Object
Dim xSourceItem As Object
Dim xTargetItem As Object
Dim xDictionary As Scripting.Dictionary 'Object
Dim xStr As String
On Error Resume Next
Set xDictionary = New Scripting.Dictionary
Set xSourceFolder = Application.Session.PickFolder
Set xTargetFolder = Application.Session.PickFolder
xCount = 0
If xSourceFolder.DefaultItemType <> xTargetFolder.DefaultItemType Then
MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly, "Kutools for Outlook"
Exit Sub
End If
For i = xSourceFolder.Items.Count To 1 Step -1
Set xSourceItem = xSourceFolder.Items.Item(i)
xSourceItem.Move xTargetFolder
Next
For i = xTargetFolder.Items.Count To 1 Step -1
Set xTargetItem = xTargetFolder.Items.Item(i)
Select Case xTargetItem.Class
Case olMail
With xTargetItem
xStr = .Subject & .Body & .SentOn
End With
Case olAppointment
With xTargetItem
xStr = .Subject & .Start & .Duration & .Location & .Body
End With
Case olContact
With xTargetItem
xStr = .FullName & .Email1Address & .Email2Address & .Email3Address
End With
Case olTask
With xTargetItem
xStr = .Subject & .StartDate & .DueDate & .Body
End With
End Select
If xDictionary.Exists(xStr) = True Then
xTargetItem.Delete
xCount = xCount + 1
Else
xDictionary.Add xStr, True
End If
Next i
If xCount <> 0 Then
MsgBox xCount & " duplicates removed when merging!", vbInformation + vbOKOnly, "Kutools for Outlook"
End If
End Sub
3. Щелкните «Инструменты» > «Ссылки», и в появившемся диалоговом окне установите флажок «Microsoft Scripting Runtime».
![]() | ![]() | ![]() |
4. Нажмите «OK». Теперь нажмите клавишу «F5», чтобы запустить код. Появится диалоговое окно, напоминающее вам выбрать первую папку, которую вы хотите объединить (примечание: все элементы в первой папке будут удалены после объединения со второй папкой).
5. Нажмите «OK». Во втором всплывающем диалоговом окне выберите вторую папку, с которой хотите сравнить и объединить.
6. Нажмите «OK». Теперь все элементы из первой папки будут перемещены во вторую папку, а дубликаты будут удалены.
Объединение нескольких папок и удаление дублирующихся элементов с помощью Kutools для Outlook
Если вы не знакомы с кодом VBA, попробуйте использовать «Kutools для Outlook», удобное дополнение, с его функциями «Организовать папки» и «Дубликаты писем», которые могут легко и быстро справиться с этой задачей.
Раскройте максимальную эффективность электронной почты с Kutools для Outlook! Получите доступ к 70 мощным функциям абсолютно бесплатно навсегда. Скачайте бесплатную версию прямо сейчас!
Объединение нескольких папок
1. Нажмите «Kutools Plus» > «Организовать папки», затем в диалоговом окне «Организовать несколько папок в одну» нажмите «Добавить», чтобы добавить папки, которые вы хотите объединить в список, и выберите папку в качестве целевой папки.
2. Нажмите «OK» > «OK». Теперь все элементы в выбранных папках были объединены в указанную папку.
Удаление дублирующихся элементов
3. Нажмите «Kutools» > «Удалить дубликаты» > «Дубликаты писем». Затем в диалоговом окне «Дубликаты писем» отметьте папку, где вы хотите удалить дубликаты.
4. Нажмите «Далее». В диалоговом окне «Настройки дублирующихся сообщений» укажите критерии, которые вы будете использовать для сравнения писем. Затем отметьте опцию «Удалить дублированные электронные письма» и выберите «Сравнить для дубликатов писем в пределах одной папки».
5. Нажмите «Далее» > «Далее», и дублирующиеся письма будут отфильтрованы. Нажмите кнопку «Удалить дублирующееся сообщение» > «OK», чтобы успешно удалить дублирующиеся письма.
Лучшие инструменты для повышения продуктивности в Office
Срочные новости: Kutools для Outlook запускает бесплатную версию!
Оцените совершенно новую бесплатную версию Kutools для Outlook с более чем70 потрясающими функциями — пользуйтесь ими НАВСЕГДА! Нажмите, чтобы скачать прямо сейчас!
📧 Автоматизация Email: Автоответчик (доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилу при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения ...
📨 Управление Email: Отозвать письмо / Блокировать мошеннические письма по теме и другим параметрам / Удалить дубликаты писем / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Магия интерфейса: 😊Больше красивых и крутых Эмодзи / Напоминание о важных письмах / Сворачивайте Outlook вместо закрытия ...
👍 Мгновенные действия: Ответить всем с вложениями / Антифишинговые Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминание о дне рождения ...

