KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Outlook: как удалить повторяющиеся элементы календаря

АвторSunДата изменения

Иногда при импорте событий с других устройств в календаре появляются дублирующиеся записи. В этом руководстве описаны два способа их удаления: вручную — по одному, если дубликатов немного, и с помощью VBA — чтобы удалить все дубликаты сразу.

Вручную Удалить дубликаты элементы календаря по одному

VBA для Удалить дубликаты элементов календаря сразу


Вручную Удалить дубликаты элементы календаря по одному

 

Чтобы удалять повторяющиеся элементы календаря по одному, сначала отсортируйте их в удобном порядке для наглядного просмотра дубликатов, а затем последовательно удалите.

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

шаги по ручному удалению дублирующихся элементов календаря по одному

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

шаги по ручному удалению дублирующихся элементов календаря по одному
шаги по ручному удалению дублирующихся элементов календаря по одному

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

шаги по ручному удалению дублирующихся элементов календаря по одному

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

шаги по ручному удалению дублирующихся элементов календаря по одному

AI Mail Assistant в Outlook: умнее ответы, яснее общение (волшебство одним щелчком!)

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

Эта функция поддерживает:

  • Умные ответы: получайте персонализированные, точные и готовые к отправке ответы, созданные на основе вашей прошлой переписки.
  • Улучшенное содержание: автоматически повышайте ясность и выразительность текста письма.
  • Легкое составление: просто укажите ключевые слова, а ИИ сделает всё остальное — с несколькими стилями письма на выбор.
  • Интеллектуальные расширения: развивайте свои идеи с помощью контекстно-зависимых предложений.
  • Суммаризация: мгновенно получайте краткие обзоры длинных писем.
  • Глобальный охват: легко переводите свои письма на любой язык.

Эта функция поддерживает:

  • Умные ответы на письма
  • Оптимизированное содержание
  • Черновики по ключевым словам
  • Интеллектуальное расширение содержания
  • Суммаризация писем
  • Многоязыковой перевод

Не ждите —скачайте 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», сравнивая тему, место проведения, текст и категорию. При необходимости вы можете изменить эти параметры.

шаги по использованию VBA для одновременного удаления дублирующихся элементов календаря

3. Затем нажмите «F5» или кнопку «Выполнить», чтобы запустить код. Появится диалоговое окно «Макросы» — выберите «RemoveDuplicateCalendar» и нажмите «Выполнить». шаги по использованию VBA для одновременного удаления дублирующихся элементов календаря

шаги по использованию VBA для одновременного удаления дублирующихся элементов календаря

Теперь повторяющиеся элементы в категории «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 для одновременного удаления дублирующихся элементов календаря
шаги по использованию VBA для одновременного удаления дублирующихся элементов календаря

ПримечаниеПриведённые выше макросы VBA работают в папке календаря, включая все её подпапки.


Лучшие инструменты для повышения продуктивности в Office

Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!

🤖KUTOOLS AI:Использует передовые технологии ИИ для удобной работы с электронной почтой: ответы, составление резюме, оптимизация, расширение, перевод и создание писем.

📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения

📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок

📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие

🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия

👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя

👩🏼‍🤝‍👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения

Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!

Мгновенно получите доступ к Kutools для Outlook одним щелчком! Не теряйте время — скачайте прямо сейчас и повысьте свою эффективность!

kutools for outlook features1kutools for outlook features2

🚀 Скачать одним щелчком — Получите все надстройки для 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