Slik finner du raskt ut alle andre avtaler som er i konflikt med en spesifikk avtale i Outlook

Når du oppretter eller endrer en avtale i Outlook-kalenderen, vil Outlook automatisk sjekke om det er noen motstridende avtaler. På dette tidspunktet, hvis du ønsker å sjekke konfliktene, kan du bruke metoden introdusert i denne sost.

Kanskje du noen gang har sett "Konflikter med en annen avtale"-teksten når du opprettet eller endret en Outlook-avtale. Det er fordi at Outlook kan automatisk sjekke konfliktene. Outlook kan imidlertid ikke hjelpe deg med å finne konfliktene raskt med standardfunksjonene. Derfor vil vi her fortelle deg en metode for å generere funksjonen for å søke i alle motstridende avtaler.

Finn raskt ut alle andre avtaler som er i konflikt med en spesifikk avtale i Outlook

Finn ut alle andre avtaler som er i konflikt med en spesifikk avtale

  1. Helt i begynnelsen starter du Outlook-programmet.
  2. Trykk deretter "Alt + F11" i hovedvinduet i Outlook.
  3. Med en gang får du tilgang til Outlook VBA-editoren, der du må åpne en ubrukt modul.
  4. Deretter kopierer du følgende VBA-kode inn i denne modulen.
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 - Finn ut alle andre avtaler som er i konflikt med en spesifikk avtale

  1. Etter det kan du gå ut av det gjeldende vinduet.
  2. Legg deretter til denne makroen til Quick Access Toolbar som vanlig.
  3. Senere bør du også sørge for at makroer er aktivert i Outlook. Bare gå til "Makroinnstillinger" for å sjekke det.
  4. Endelig kan du prøve.
  • Først velger eller åpner du en avtale, der det er en "Konflikter med en annen avtale"-ledetekst.
  • Klikk deretter på makroknappen i verktøylinjen for hurtigtilgang.
  • Med en gang vil du få en melding som viser alle motstridende avtaler, vist som følgende skjermbilde:Melding som viser alle motstridende avtaler

Viktige forholdsregler før Outlook-korrupsjon

Det er kjent at Outlook er utsatt for å krasje og lide av feil. Dermed er det et spørsmål om nødvendighet å holde seg godt forberedt på Outlook-korrupsjon. En av demost viktige forholdsregler er periodisk sikkerhetskopiering. I tillegg er det foreslått å forberede en potent spesialisert Outlook reparasjon verktøy, som DataNumen Outlook Repair.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert mdf gjenoppretting og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.