Перейти к основному содержанию

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

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

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

VBA для одновременного удаления дубликатов элементов календаря

Вкладка «Office»: включите редактирование и просмотр с вкладками в Microsoft Office, упрощая работу
Kutools for Outlook - улучшите Outlook с помощью более 100 расширенных функций для повышения эффективности
Улучшите свой Outlook 2021–2010 или Outlook 365 с помощью этих расширенных функций. Наслаждайтесь полной 60-дневной бесплатной пробной версией и улучшите качество своей электронной почты!

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

 

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

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

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

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

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

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

2. Затем укажите условие, которое вы используете для сравнения, если элементы дублируются, предположим, чтобы сравнить, если предметы имеют одинаковую тему. Нажмите ПРЕДМЕТ в списке календаря, то все элементы с одной и той же темой помещаются вместе.

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

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

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


VBA для одновременного удаления дубликатов элементов календаря

 

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

1. Нажмите другой + F11 ключи для включения Microsoft Visual Basic для приложений окно.

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 он удалит все дубликаты в «даты” эту категорию, сравнив тему, местоположение, тело и категорию, вы можете изменить их по мере необходимости.

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

3. затем нажмите F5 клавишу или нажмите «Выполнить», чтобы запустить код, появится диалоговое окно. Макрос выскакивает, выбирай Удалить дубликат календаря и нажмите Run doc удалить повторяющиеся элементы календаря 1 .

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

Затем дубликаты в категории «дата» были удалены.

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

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

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

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

Внимание: выше VBA работает в папке календаря, включая подпапку.


Лучшие инструменты для офисной работы

Kutools for Outlook - Более 100 мощных функций для улучшения вашего Outlook

🤖 Почтовый помощник с искусственным интеллектом: Мгновенные профессиональные электронные письма с помощью магии искусственного интеллекта: гениальные ответы одним щелчком мыши, идеальный тон, многоязычное владение. Преобразуйте электронную почту без особых усилий! ...

???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP)  /  Расписание отправки писем  /  Автоматическое копирование/скрытая копия по правилам при отправке электронной почты  /  Автопересылка (расширенные правила)   /  Автоматическое добавление приветствия   /  Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...

📨 Управление электронной почтой: Легко вспоминать электронные письма  /  Блокировка мошеннических писем от субъектов и других лиц  /  Удалить повторяющиеся электронные письма  /  Поиск  /  Объединение папок ...

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

???? Магия интерфейса: 😊Больше красивых и крутых смайлов   /  Повысьте производительность Outlook с помощью представлений с вкладками  /  Свернуть Outlook вместо закрытия ...

???? Чудеса в один клик: Ответить всем с входящими вложениями  /   Антифишинговые письма  /  🕘Показать часовой пояс отправителя ...

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

Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.

 

 

Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Sadly neither of these work
This comment was minimized by the moderator on the site
I have tested the code and both of them work, What is your problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations