Przejdź do głównej zawartości

Outlook: jak usunąć zduplikowane pozycje kalendarza

Autor: Sun Ostatnia modyfikacja: 2022-04-29

Czasami podczas importowania wydarzeń z innych urządzeń pojawiają się zduplikowane elementy kalendarza. Aby usunąć zduplikowane elementy kalendarza, w tym samouczku wprowadzono dwie różne metody: jedna usuwa jeden po drugim, gdy duplikatów jest mniej, a druga używa VBA do usuwania wszystkich duplikatów jednocześnie.

Ręcznie usuwaj duplikaty pozycji kalendarza jeden po drugim

VBA do usuwania duplikatów elementów kalendarza jednocześnie

Karta Office — włącz edycję i przeglądanie na kartach w pakiecie Microsoft Office, dzięki czemu praca stanie się o wiele łatwiejsza
Kutools dla programu Outlook - Zwiększ wydajność programu Outlook dzięki ponad 100 zaawansowanym funkcjom zapewniającym najwyższą wydajność
Ulepsz swój program Outlook 2021–2010 lub Outlook 365 dzięki tym zaawansowanym funkcjom. Skorzystaj z kompleksowego, 60-dniowego bezpłatnego okresu próbnego i usprawnij korzystanie z poczty e-mail!

Ręcznie usuwaj duplikaty pozycji kalendarza jeden po drugim

 

Aby usunąć zduplikowane elementy kalendarza jeden po drugim, musisz je wymienić w określonej kolejności, aby najpierw wyraźnie wyświetlić duplikaty, a następnie usunąć je jeden po drugim.

1. Generalnie kalendarz jest w Kalendarz wyświetl, aktywuj kalendarz, z którego chcesz usunąć duplikaty, a następnie kliknij Zobacz i wysłuchaj > Zmień widok > Lista.

doc usuń zduplikowane pozycje kalendarza 1

Teraz kalendarz został wyświetlony jako lista.

doc usuń zduplikowane pozycje kalendarza 1

doc usuń zduplikowane pozycje kalendarza 1

2. Następnie określ warunek, którego używasz do porównania, jeśli elementy są zduplikowane, zakładając, że porównujesz, jeśli elementy mają ten sam temat. Kliknij GRUPA na liście kalendarzy, wszystkie elementy o tym samym temacie są umieszczane razem.

doc usuń zduplikowane pozycje kalendarza 1

3. Teraz możesz pojedynczo usuwać elementy o tym samym temacie, klikając element prawym przyciskiem myszy i klikając Usuń z wyskakującego menu kontekstowego.

doc usuń zduplikowane pozycje kalendarza 1


VBA do usuwania duplikatów elementów kalendarza jednocześnie

 

Tutaj przedstawiamy trochę VBA, które w różnych przypadkach może usunąć wszystkie zduplikowane elementy kalendarza w folderze kalendarza.

1. naciśnij inny + F11 klucze do włączenia Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł aby utworzyć nowy pusty moduł, a następnie skopiuj i wklej poniższy kod do modułu.

VBA: usuń wszystkie zduplikowane pozycje kalendarza w jednej określonej kategorii

'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

W tym VBA usunie wszystkie duplikaty w „dane” tej kategorii, porównując temat, lokalizację, ciało i kategorię, możesz je zmienić według potrzeb.

doc usuń zduplikowane pozycje kalendarza 1

3. następnie naciśnij F5 klawisz lub kliknij Uruchom, aby uruchomić kod, okno dialogowe Makra wyskakuje, wybierz Usuń zduplikowany kalendarz i kliknij run doc usuń zduplikowane pozycje kalendarza 1 .

doc usuń zduplikowane pozycje kalendarza 1

Następnie zduplikowane pozycje w kategorii „data” zostały usunięte.

VBA: usuń wszystkie zduplikowane pozycje kalendarza w różnych kategoriach

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

Uruchom ten kod, wszystkie duplikaty o tym samym temacie, lokalizacji, treści, kategorii w każdej kategorii zostały usunięte.

doc usuń zduplikowane pozycje kalendarza 1

doc usuń zduplikowane pozycje kalendarza 1

Note: Powyższy VBA działa w folderze kalendarza zawiera podfolder.


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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