Hoe u snel alle andere afspraken kunt vinden die in strijd zijn met een specifieke afspraak in Outlook

Wanneer u een afspraak aanmaakt of wijzigt in de Outlook-agenda, controleert Outlook automatisch of er conflicterende afspraken zijn. Als u op dat moment zelf wilt controleren op conflicten, kunt u de methode gebruiken die in dit bericht wordt beschreven.

Misschien heeft u ooit de tekst "Conflicten met een andere afspraak" gezien bij het maken of wijzigen van een Outlook-afspraak. Het is omdat Outlook de conflicten automatisch kan controleren. Outlook kan u echter niet helpen om de conflicten snel te vinden door de standaardfuncties. Daarom vertellen we u hier een methode om de functie te genereren om alle conflicterende afspraken te doorzoeken.

Vind snel alle andere afspraken die in strijd zijn met een specifieke afspraak in Outlook

Lees alle andere afspraken die in strijd zijn met een specifieke afspraak

  1. Start vanaf het begin uw Outlook-programma.
  2. Druk vervolgens in het hoofdvenster van Outlook op de toetsen "Alt + F11".
  3. U krijgt meteen toegang tot de Outlook VBA-editor, waarin u een ongebruikte module moet openen.
  4. Kopieer vervolgens de volgende VBA-code naar deze module.
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

VBA-code - Ontdek alle andere afspraken die in strijd zijn met een specifieke afspraak

  1. Daarna kunt u het huidige venster verlaten.
  2. Voeg deze macro vervolgens zoals gewoonlijk toe aan de werkbalk Snelle toegang.
  3. Later moet u er ook voor zorgen dat macro's zijn ingeschakeld in uw Outlook. Ga gewoon naar "Macro-instellingen" om het te controleren.
  4. Eindelijk kun je het proberen.
  • Selecteer of open eerst een afspraak waarin de prompt "Conflicten met een andere afspraak" wordt weergegeven.
  • Klik vervolgens op de macroknop in de werkbalk Snelle toegang.
  • U krijgt meteen een bericht met alle conflicterende afspraken, weergegeven als de volgende schermafbeelding:Bericht met alle conflicterende afspraken

Essentiële voorzorgsmaatregelen voor corruptie van Outlook

Het is bekend dat Outlook gevoelig is voor crashes en fouten. Daarom is het van essentieel belang om goed voorbereid te zijn op eventuele problemen met Outlook. Een van de belangrijkste voorzorgsmaatregelen is het regelmatig maken van een back-up. Daarnaast is het raadzaam om een ​​krachtige, gespecialiseerde back-up te maken. Outlook-reparatie tool, zoals DataNumen Outlook Repair.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder mdf herstel en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.