Перейти до основного матеріалу

Outlook: як видалити повторювані елементи календаря

Іноді трапляються повторювані елементи календаря, коли ми імпортуємо події з інших пристроїв. Щоб видалити повторювані елементи календаря, у цьому підручнику представлено два різні способи: один вилучає один за іншим, коли дублікатів стає менше, інший використовує VBA для видалення всіх дублікатів одночасно.

Вручну видаляйте повторювані елементи календаря один за іншим

VBA, щоб одночасно видалити повторювані елементи календаря

Вкладка Office - увімкніть редагування та перегляд із вкладками в Microsoft Office, що полегшить роботу
Kutools для 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. клацання Insert > Модулі щоб створити новий порожній модуль, потім скопіюйте та вставте код нижче в модуль.

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 або клацніть Виконати, щоб запустити код, діалогове вікно Макрос вискочить, вибрати Видалити дублікат календаря і натисніть кнопку прогін 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 для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для 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