Как быстро узнать все другие встречи, конфликтующие с определенной встречей в Outlook

Поделись сейчас:

Когда вы создаете или изменяете встречу в календаре Outlook, Outlook автоматически проверяет наличие конфликтующих встреч. В настоящее время, если вы хотите проверить конфликты, вы можете использовать метод, представленный в этом п.ost.

Возможно, вы когда-нибудь видели текст «Конфликты с другой встречей» при создании или изменении встречи в 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. Один из нихost Существенными мерами предосторожности является периодическое резервное копирование. Кроме того, предлагается приготовить сильнодействующий специализированный Восстановление Outlook инструмент, как DataNumen Outlook Repair.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановление мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.