Sådan finder du hurtigt ud af alle andre aftaler, der er i konflikt med en bestemt aftale i Outlook

Når du opretter eller ændrer en aftale i Outlook-kalenderen, vil Outlook automatisk kontrollere, om der er nogen modstridende aftaler. Hvis du på nuværende tidspunkt ønsker at kontrollere konflikterne, kan du bruge metoden, der er introduceret i dette indlæg.

Måske har du nogensinde set teksten "Konflikter med en anden aftale", når du opretter eller ændrer en Outlook-aftale. Det er fordi Outlook automatisk kan kontrollere konflikterne. Outlook kan dog ikke hjælpe dig med hurtigt at finde konflikterne ved hjælp af standardfunktionerne. Så her fortæller vi dig en metode til at generere funktionen til at søge i alle modstridende aftaler.

Find hurtigt ud af alle andre aftaler, der er i konflikt med en bestemt aftale i Outlook

Find ud af alle andre aftaler, der er i konflikt med en bestemt aftale

  1. Start dit Outlook-program lige fra starten.
  2. Tryk derefter på "Alt + F11" -tasten i Outlook-hovedvinduet.
  3. Straks får du adgang til Outlook VBA-editoren, hvor du skal åbne et ubrugt modul.
  4. Kopier derefter følgende VBA-kode til dette modul.
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-kode - Find ud af alle andre aftaler, der er i konflikt med en bestemt aftale

  1. Derefter kan du forlade det aktuelle vindue.
  2. Tilføj derefter denne makro til Quick Access Toolbar som normalt.
  3. Senere skal du også sikre dig, at makroer er aktiveret i din Outlook. Gå bare til "Makroindstilling" for at kontrollere det.
  4. Endelig kan du prøve.
  • For det første skal du vælge eller åbne en aftale, hvor der er en "Konflikter med en anden aftale" -prompt.
  • Klik derefter på makroknappen i værktøjslinjen Hurtig adgang.
  • Straks får du en besked, der viser alle modstridende aftaler, vist som følgende skærmbillede:Besked, der viser alle modstridende aftaler

Væsentlige forholdsregler før Outlook-korruption

Det er kendt, at Outlook er tilbøjeligt til at gå ned og opleve fejl. Derfor er det nødvendigt at være godt forberedt på Outlook-korruption. En af de vigtigste forholdsregler er periodisk sikkerhedskopiering. Derudover anbefales det at forberede en effektiv specialiseret Outlook reparation værktøj, ligesom DataNumen Outlook Repair.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder mdf opsving og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.