Перейти к содержимому

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

Author: Sun Last Modified: 2025-06-05

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

Удаление дубликатов календаря вручную по одному

Использование VBA для удаления дубликатов календаря за один раз


Удаление дубликатов календаря вручную по одному

 

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

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

steps on manually removing duplicates calendar items one by one

Теперь календарь отображается в виде списка.

steps on manually removing duplicates calendar items one by one
steps on manually removing duplicates calendar items one by one

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

steps on manually removing duplicates calendar items one by one

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

steps on manually removing duplicates calendar items one by one

AI Mail Assistant в Outlook: Умные ответы, четкое общение (волшебство в один клик!) БЕСПЛАТНО

Оптимизируйте свои ежедневные задачи в Outlook с помощью AI Mail Assistant от Kutools для Outlook. Этот мощный инструмент изучает ваши прошлые письма, чтобы предлагать умные и точные ответы, оптимизировать содержание ваших писем и помогать легко создавать и редактировать сообщения.
doc ai email handle

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

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

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

  • Умные ответы на письма
  • Оптимизированное содержание
  • Черновики на основе ключевых слов
  • Интеллектуальное расширение содержания
  • Краткое изложение писем
  • Перевод на несколько языков

Лучше всего то, что эта функция будет полностью бесплатной навсегда! Не ждите — скачайте 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 удалит все дубликаты в категории «дата», сравнивая тему, место, текст и категорию. Вы можете изменить эти параметры по своему усмотрению.

steps on using VBA to remove duplicates calendar items at once time

3. Затем нажмитеF5 или нажмите «Выполнить», чтобы запустить код. Появится диалоговое окно «Макросы», выберите «RemoveDuplicateCalendar» и нажмите «Выполнить».steps on using VBA to remove duplicates calendar items at once time .

steps on using VBA to remove duplicates calendar items at once time

После этого дублирующиеся элементы в категории «дата» будут удалены.

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

После выполнения этого кода все дубликаты, совпадающие по теме, месту, тексту и категории в каждой категории, будут удалены.

steps on using VBA to remove duplicates calendar items at once time
steps on using VBA to remove duplicates calendar items at once time

Примечание: Этот код VBA работает в папке календаря, включая подпапки.


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

Срочные новости: Kutools для Outlook запускает бесплатную версию!

Оцените совершенно новую бесплатную версию Kutools для Outlook с более чем70 потрясающими функциями — пользуйтесь ими НАВСЕГДА! Нажмите, чтобы скачать прямо сейчас!

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

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

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

📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...

🌟 Магия интерфейса: 😊Больше красивых и крутых Эмодзи / Напоминание о важных письмах / Сворачивайте Outlook вместо закрытия ...

👍 Мгновенные действия: Ответить всем с вложениями / Антифишинговые Email / 🕘Показать часовой пояс отправителя ...

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

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

kutools for outlook features1 kutools for outlook features2