Cum să aflați rapid toate celelalte întâlniri care intră în conflict cu o anumită întâlnire în Outlook

Distribuie acum:

Când creați sau modificați o întâlnire în calendarul Outlook, Outlook va verifica automat dacă există întâlniri conflictuale. În acest moment, dacă doriți să verificați conflictele, puteți utiliza metoda prezentată în această postare.

Poate că ați văzut vreodată textul „Conflicte cu o altă întâlnire” atunci când creați sau modificați o întâlnire Outlook. Se datorează faptului că Outlook poate verifica automat conflictele. Cu toate acestea, Outlook nu vă poate ajuta să găsiți rapid conflictele prin caracteristicile sale implicite. Astfel, aici vă vom spune o metodă de a genera funcția pentru a căuta toate întâlnirile conflictuale.

Aflați rapid toate celelalte întâlniri care intră în conflict cu o anumită întâlnire în Outlook

Aflați toate celelalte întâlniri care intră în conflict cu o anumită întâlnire

  1. De la bun început, lansați programul Outlook.
  2. Apoi, în fereastra principală a Outlook, apăsați butoanele tastei „Alt + F11”.
  3. Imediat, veți accesa editorul Outlook VBA, în care trebuie să deschideți un modul neutilizat.
  4. Apoi, copiați următorul cod VBA în acest 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

Cod VBA - Aflați toate celelalte întâlniri care intră în conflict cu o anumită întâlnire

  1. După aceea, puteți ieși din fereastra curentă.
  2. Apoi adăugați această macrocomandă în Bara de instrumente Acces rapid, ca de obicei.
  3. Mai târziu, ar trebui să vă asigurați că macrocomenzile sunt activate în Outlook. Mergeți doar la „Setare macro” pentru a o verifica.
  4. În sfârșit poți încerca.
  • În primul rând, selectați sau deschideți o întâlnire, în care există o solicitare „Conflicte cu o altă întâlnire”.
  • Apoi faceți clic pe butonul macro din Bara de instrumente Acces rapid.
  • Imediat, veți primi un mesaj care listează toate întâlnirile aflate în conflict, afișat ca următoarea captură de ecran:Mesaj care listează toate întâlnirile aflate în conflict

Precauții esențiale înainte de corupția Outlook

Se știe că Outlook este predispus la blocări și erori. Prin urmare, este esențial să vă pregătiți pentru coruperea Outlook. Una dintre cele mai importante precauții este efectuarea de copii de rezervă periodice. În plus, se recomandă pregătirea unui program specializat puternic. Repararea Outlook instrument, cum ar fi DataNumen Outlook Repair.

Introducerea autorului:

Shirley Zhang este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recuperare mdf și produse software de reparații Outlook. Pentru mai multe informații vizitați www.datanumen.com

Distribuie acum:

Comentariile sunt închise.