Jak szybko znaleźć wszystkie inne terminy kolidujące z konkretnym terminem w programie Outlook

Podziel się teraz:

Podczas tworzenia lub zmiany terminu w kalendarzu Outlook, program automatycznie sprawdza, czy występują jakieś konflikty terminów. Jeśli chcesz sprawdzić konflikty, możesz skorzystać z metody opisanej w tym poście.

Być może widziałeś kiedyś tekst „Konflikty z innym spotkaniem” podczas tworzenia lub zmiany spotkania w programie Outlook. Dzieje się tak, ponieważ program Outlook może automatycznie sprawdzać konflikty. Jednak program Outlook nie może pomóc w szybkim znajdowaniu konfliktów dzięki domyślnym funkcjom. Dlatego tutaj przedstawimy metodę generowania funkcji wyszukiwania wszystkich kolidujących spotkań.

Szybko znajdź wszystkie inne terminy kolidujące z konkretnym terminem w programie Outlook

Dowiedz się o wszystkich innych terminach kolidujących z konkretnym terminem

  1. Na samym początku uruchom program Outlook.
  2. Następnie w głównym oknie Outlooka wciśnij klawisze „Alt + F11”.
  3. Od razu uzyskasz dostęp do edytora Outlook VBA, w którym musisz otworzyć nieużywany moduł.
  4. Następnie skopiuj następujący kod VBA do tego modułu.
Sub FindOutConflictingAppointments()
    Dim objAppointment As AppointmentItem
    Dim dStartTime, dEndTime As Date
    Dim strFilter As String
    Dim objAppointments As Items
    Dim objFoundAppointments As Items
    Dim objItem As AppointmentItem
    Dim i As Long
    Dim strConflicts As String
    Dim strMsg As String
 
    Select Case Application.ActiveWindow.Class
           Case olExplorer
                Set objAppointment = Application.ActiveExplorer.Selection(1)
           Case olInspector
                Set objAppointment = Application.ActiveInspector.CurrentItem
    End Select
 
    dStartTime = objAppointment.start
    dEndTime = objAppointment.End
 
    Set objAppointments = Application.ActiveExplorer.CurrentFolder.Items
 
    i = 1
 
    '1: Find all appts whose end time within the start and end time of source appt
    strFilter = "[End] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34)
 
    Set objFoundAppointments = objAppointments.Restrict(strFilter)
 
    For Each objItem In objFoundAppointments
        If objItem.Subject <> objAppointment.Subject Then
           strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf
           i = i + 1
        End If
    Next
 
    '2: Find all appts occurring within the start and end time of source appt
    strFilter = "[Start] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34)
 
    Set objFoundAppointments = objAppointments.Restrict(strFilter)
 
    For Each objItem In objFoundAppointments
        If objItem.Subject <> objAppointment.Subject Then
           strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf
           i = i + 1
        End If
    Next
 
    '3: Find all appts whose start time within the start and end time of source appt
    strFilter = "[Start] >= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [Start] <= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34)
 
    Set objFoundAppointments = objAppointments.Restrict(strFilter)
 
    For Each objItem In objFoundAppointments
        If objItem.Subject <> objAppointment.Subject Then
           strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf
           i = i + 1
        End If
    Next
 
    '4: Find all appts cover the entire source appt
    strFilter = "[Start] <= " & Chr(34) & Format(dStartTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34) & " AND [End] >= " & Chr(34) & Format(dEndTime, "mm/dd/yyyy hh:mm AMPM") & Chr(34)
 
    Set objFoundAppointments = objAppointments.Restrict(strFilter)
  
    For Each objItem In objFoundAppointments
        If objItem.Subject <> objAppointment.Subject Then
           strConflicts = strConflicts & i & ". " & objItem.Subject & vbCrLf
           i = i + 1
        End If
    Next
 
    strMsg = i - 1 & " Conflicting Appointments:" & vbCrLf & vbCrLf & strConflicts
    MsgBox strMsg, vbInformation + vbOKOnly, "Check Conflicts"
End Sub

Kod VBA - zobacz wszystkie inne terminy kolidujące z konkretnym terminem

  1. Następnie możesz wyjść z bieżącego okna.
  2. Następnie jak zwykle dodaj to makro do paska narzędzi szybkiego dostępu.
  3. Później powinieneś również upewnić się, że makra są włączone w programie Outlook. Po prostu przejdź do „Macro Setting”, aby to sprawdzić.
  4. Wreszcie możesz spróbować.
  • Po pierwsze, wybierz lub otwórz spotkanie, w którym pojawia się podpowiedź „Konflikty z innym spotkaniem”.
  • Następnie kliknij przycisk makra na pasku narzędzi szybkiego dostępu.
  • Od razu otrzymasz wiadomość z listą wszystkich konfliktów spotkań, pokazaną na poniższym zrzucie ekranu:Wiadomość zawierająca listę wszystkich kolidujących spotkań

Niezbędne środki ostrożności przed korupcją programu Outlook

Wiadomo, że Outlook jest podatny na awarie i błędy. Dlatego konieczne jest odpowiednie przygotowanie się na wypadek awarii Outlooka. Jednym z najważniejszych środków ostrożności jest okresowe tworzenie kopii zapasowych. Ponadto zaleca się przygotowanie specjalistycznego, skutecznego narzędzia. Naprawa programu Outlook narzędzie, takie jak DataNumen Outlook Repair.

Wprowadzenie autora:

Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskiwanie mdf i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.