Как бързо да разберете всички други срещи, които са в конфликт с конкретно назначение в Outlook

Споделете сега:

Когато създавате или променяте среща в календара на Outlook, Outlook автоматично ще провери дали има конфликтни срещи. В този случай, ако искате да проверите конфликтите, можете да използвате метода, представен в тази публикация.

Може би някога сте виждали текста „Конфликти с друга среща“, когато създавате или променяте среща в Outlook. Това е така, защото Outlook може автоматично да проверява конфликтите. Outlook обаче не може да ви помогне бързо да намерите конфликтите от функциите по подразбиране. По този начин тук ще ви кажем метод за генериране на функцията за търсене на всички противоречиви срещи.

Бързо разберете всички други срещи, противоречащи на конкретно назначение в Outlook

Разберете всички останали срещи, противоречащи на конкретно назначение

  1. В самото начало стартирайте програмата си Outlook.
  2. След това, в главния прозорец на Outlook, натиснете бутоните „Alt + F11“.
  3. Веднага ще влезете в редактора на Outlook VBA, в който трябва да отворите неизползван модул.
  4. След това копирайте следния VBA код в този модул.
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 - Разберете всички други назначения, противоречащи на конкретно назначение

  1. След това можете да излезете от текущия прозорец.
  2. След това добавете този макрос към лентата с инструменти за бърз достъп, както обикновено.
  3. По-късно също трябва да се уверите, че макросите са активирани във вашия Outlook. Просто отидете на „Настройка на макроса“, за да го проверите.
  4. Накрая можете да опитате.
  • Първо, изберете или отворете среща, в която има подкана „Конфликти с друга среща“.
  • След това щракнете върху бутона макрос в лентата с инструменти за бърз достъп.
  • Веднага ще получите съобщение, в което са изброени всички противоречиви срещи, показани като следната екранна снимка:Съобщение, в което са изброени всички противоречиви срещи

Основни предпазни мерки преди корупцията в Outlook

Известно е, че Outlook е склонен към сривове и грешки. Поради това е необходимо да се подготвите добре за евентуални повреди в Outlook. Една от най-важните предпазни мерки е периодичното архивиране. Освен това се препоръчва да си подготвите мощен специализиран архив. Поправка на Outlook инструмент, като DataNumen Outlook Repair.

Въведение на автора:

Шърли Джанг е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително mdf възстановяване и outlook софтуерни продукти за ремонт. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.