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

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Sun Last modified

Иногда при импорте событий с других устройств возникают повторяющиеся элементы календаря. Чтобы удалить дубликаты, этот учебник предлагает два различных метода: один — удалять дубликаты по одному, если их немного, а другой — использовать 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 с более чем100 невероятными функциями! Нажмите, чтобы скачать прямо сейчас!

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

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

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

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

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

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

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

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

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

kutools for outlook features1 kutools for outlook features2

🚀 Скачайте все дополнения Office одним кликом

Рекомендуем: Kutools для Office (5-в-1)

Скачайте сразу пять установщиков одним кликом — Kutools для Excel, Outlook, Word, PowerPoint и Office Tab Pro. Нажмите, чтобы скачать прямо сейчас!

  • Все просто: скачайте все пять установочных пакетов одним действием.
  • 🚀 Готово для любой задачи Office: Установите нужные дополнения тогда, когда они вам понадобятся.
  • 🧰 Включено: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools для PowerPoint