Outlook: как удалить повторяющиеся элементы календаря
Иногда при импорте событий с других устройств в календаре появляются дублирующиеся записи. В этом руководстве описаны два способа их удаления: вручную — по одному, если дубликатов немного, и с помощью VBA — чтобы удалить все дубликаты сразу.
Вручную Удалить дубликаты элементы календаря по одному
VBA для Удалить дубликаты элементов календаря сразу
Вручную Удалить дубликаты элементы календаря по одному
Чтобы удалять повторяющиеся элементы календаря по одному, сначала отсортируйте их в удобном порядке для наглядного просмотра дубликатов, а затем последовательно удалите.
1. Обычно календарь отображается в виде «Календарь». Активируйте календарь, из которого хотите удалить дубликаты, затем выберите «Вид» > «Изменить вид» > «Список».

Теперь календарь представлен в виде списка.


2. Затем задайте условие для сравнения элементов на дублирование — например, по теме (полю «Тема»). Нажмите «ТЕМА» в списке календаря, и все элементы с одинаковой темой автоматически сгруппируются.

3. Теперь вы можете удалять элементы с одинаковой темой по одному: просто щёлкните по нужному элементу правой кнопкой мыши и выберите «Удалить» в контекстном меню.

AI Mail Assistant в Outlook: умнее ответы, яснее общение (волшебство одним щелчком!)
Оптимизируйте повседневные задачи в Outlook с помощью AI Mail Assistant от Kutools для Outlook — мощного инструмента, который анализирует ваши прошлые письма, чтобы предлагать умные и точные ответы, улучшать содержание сообщений и помогать легко создавать и редактировать тексты.

Эта функция поддерживает:
- Умные ответы: получайте персонализированные, точные и готовые к отправке ответы, созданные на основе вашей прошлой переписки.
- Улучшенное содержание: автоматически повышайте ясность и выразительность текста письма.
- Легкое составление: просто укажите ключевые слова, а ИИ сделает всё остальное — с несколькими стилями письма на выбор.
- Интеллектуальные расширения: развивайте свои идеи с помощью контекстно-зависимых предложений.
- Суммаризация: мгновенно получайте краткие обзоры длинных писем.
- Глобальный охват: легко переводите свои письма на любой язык.
Эта функция поддерживает:
- Умные ответы на письма
- Оптимизированное содержание
- Черновики по ключевым словам
- Интеллектуальное расширение содержания
- Суммаризация писем
- Многоязыковой перевод
Не ждите —скачайте AI Mail Assistant прямо сейчас и наслаждайтесь!
VBA для Удалить дубликаты элементов календаря сразу
Вот примеры кода VBA для удаления всех повторяющихся элементов календаря в папке календаря в различных сценариях.
1. Нажмите «Alt» + «F11», чтобы открыть окно «Microsoft Visual Basic for Applications».
2. Нажмите «Вставка» > «Модуль», чтобы создать новый пустой модуль, затем скопируйте и вставьте приведённый ниже код в него.
VBA: удаление всех повторяющихся элементов календаря в одной конкретной категории
'Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
Dim xStores As Stores
Dim xStore As Store
Dim xRootFolder As Folder
Dim xFolder As Object
Set xStores = Application.Session.Stores
For Each xStore In xStores
Set xRootFolder = xStore.GetRootFolder
For Each xFolder In xRootFolder.Folders
Call ProcessFolders(xFolder)
Next
Next
Set xStores = Nothing
End Sub
Sub ProcessFolders(ByVal CurrentFld As Folder)
Dim xDictionary As Object
Dim i As Long
Dim xItem As Object
Dim xKey As String
Dim xSubFld As Folder
On Error Resume Next
If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
Set xDictionary = CreateObject("Scripting.Dictionary")
For i = CurrentFld.Items.Count To 1 Step -1
Set xItem = CurrentFld.Items.Item(i)
'change categories as you need in below script
If xItem.Categories = "date" Then
'change the comparing items as you need
xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
If xDictionary.Exists(xKey) = True Then
xItem.Delete
Else
xDictionary.Add xKey, True
End If
End If
Next i
For Each xSubFld In CurrentFld.Folders
ProcessFolders xSubFld
Next
End Sub
Этот код VBA удаляет все дубликаты в категории «date», сравнивая тему, место проведения, текст и категорию. При необходимости вы можете изменить эти параметры.

3. Затем нажмите «F5» или кнопку «Выполнить», чтобы запустить код. Появится диалоговое окно «Макросы» — выберите «RemoveDuplicateCalendar» и нажмите «Выполнить». ![]()

Теперь повторяющиеся элементы в категории «date» удалены.
VBA: удаление всех повторяющихся элементов календаря во всех категориях
Sub RemoveDuplicateCalendar()
'UpdatebyExtendoffice20220413
Dim xStores As Stores
Dim xStore As Store
Dim xRootFolder As Folder
Dim xFolder As Object
Set xStores = Application.Session.Stores
For Each xStore In xStores
Set xRootFolder = xStore.GetRootFolder
For Each xFolder In xRootFolder.Folders
Call ProcessFolders(xFolder)
Next
Next
Set xStores = Nothing
End Sub
Sub ProcessFolders(ByVal CurrentFld As Folder)
Dim xDictionary As Object
Dim i As Long
Dim xItem As Object
Dim xKey As String
Dim xSubFld As Folder
On Error Resume Next
If CurrentFld.DefaultItemType <> olAppointmentItem Then Exit Sub
Set xDictionary = CreateObject("Scripting.Dictionary")
For i = CurrentFld.Items.Count To 1 Step -1
Set xItem = CurrentFld.Items.Item(i)
'change the comparing items as you need
xKey = xItem.Subject & xItem.Location & xItem.Body & xItem.Categories
If xDictionary.Exists(xKey) = True Then
xItem.Delete
Else
xDictionary.Add xKey, True
End If
Next i
For Each xSubFld In CurrentFld.Folders
ProcessFolders xSubFld
Next
End Sub
После выполнения этого кода удаляются все дубликаты с одинаковыми темой, местом проведения, текстом и категорией в рамках каждой категории.


ПримечаниеПриведённые выше макросы VBA работают в папке календаря, включая все её подпапки.
Лучшие инструменты для повышения продуктивности в Office
Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!
📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…
📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок…
📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…
🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия…
👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…
👩🏼🤝👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения…
Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!


🚀 Скачать одним щелчком — Получите все надстройки для Office
Настоятельно рекомендуется: Kutools for Office (5 в 1)
Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!
- ✅Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
- 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
- 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint