Jak rychle zjistit všechny ostatní schůzky, které jsou v rozporu s konkrétní schůzkou v Outlooku

Sdílej nyní:

Když v kalendáři aplikace Outlook vytvoříte nebo změníte schůzku, aplikace Outlook automaticky zkontroluje, zda existují nějaké konfliktní schůzky. Pokud si v tuto chvíli přejete konflikty zkontrolovat, můžete použít metodu popsanou v tomto příspěvku.

Možná jste někdy při vytváření nebo změně schůzky v Outlooku viděli text „Konflikty s jinou schůzkou“. Je to proto, že Outlook může automaticky kontrolovat konflikty. Aplikace Outlook vám však pomocí výchozích funkcí nemůže pomoci rychle najít konflikty. Tady vám tedy řekneme metodu generování funkce prohledávání všech konfliktních schůzek.

Rychle zjistěte všechny ostatní schůzky, které jsou v rozporu s konkrétní schůzkou v Outlooku

Zjistěte všechny ostatní schůzky, které jsou v rozporu s konkrétní schůzkou

  1. Hned na začátku spusťte program Outlook.
  2. Poté v hlavním okně Outlooku stiskněte klávesy „Alt + F11“.
  3. Najednou se dostanete do editoru Outlook VBA, ve kterém musíte otevřít nepoužívaný modul.
  4. Dále zkopírujte následující kód VBA do tohoto modulu.
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

Kód VBA - Zjistěte všechny ostatní schůzky, které jsou v rozporu s konkrétní schůzkou

  1. Poté můžete opustit aktuální okno.
  2. Poté toto makro přidejte na panel nástrojů Rychlý přístup jako obvykle.
  3. Později byste také měli zajistit, aby byla ve vašem Outlooku povolena makra. Stačí to zkontrolovat v části „Nastavení maker“.
  4. Nakonec to můžete vyzkoušet.
  • Nejprve vyberte nebo otevřete schůzku, ve které se zobrazí výzva „Konflikty s jinou schůzkou“.
  • Poté klikněte na tlačítko makra na panelu nástrojů Rychlý přístup.
  • Najednou se zobrazí zpráva se seznamem všech konfliktních schůzek, která se zobrazí jako následující snímek obrazovky:Zpráva se seznamem všech konfliktních schůzek

Základní preventivní opatření před poškozením aplikace Outlook

Je známo, že Outlook je náchylný k pádům a chybám. Proto je nezbytné být dobře připraven na poškození Outlooku. Jedním z nejdůležitějších opatření je pravidelné zálohování. Kromě toho se doporučuje připravit si silný specializovaný zálohovací systém. Oprava aplikace Outlook nástroj, jako DataNumen Outlook Repair.

Úvod autora:

Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně zotavení mdf a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.