Ao criar ou alterar um compromisso no calendário do Outlook, o Outlook verifica automaticamente se existem compromissos conflitantes. Nesse caso, se desejar verificar os conflitos, você pode usar o método apresentado nesta publicação.
Talvez você já tenha visto o texto “Conflitos com outro compromisso” ao criar ou alterar um compromisso do Outlook. É porque o Outlook pode verificar automaticamente os conflitos. No entanto, o Outlook não pode ajudá-lo a encontrar os conflitos rapidamente por seus recursos padrão. Assim, aqui vamos te contar um método para gerar a função para buscar todos os agendamentos conflitantes.

Descubra todos os outros compromissos conflitantes com um compromisso específico
- No início, inicie seu programa Outlook.
- Em seguida, na janela principal do Outlook, pressione os botões de tecla “Alt + F11”.
- De imediato, você acessará o editor VBA do Outlook, no qual deverá abrir um módulo não utilizado.
- Em seguida, copie o seguinte código VBA para este módulo.
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
- Depois disso, você pode sair da janela atual.
- Em seguida, adicione esta macro à Barra de Ferramentas de Acesso Rápido como de costume.
- Posteriormente, você também deve garantir que as macros estejam habilitadas em seu Outlook. Basta ir em “Configuração de macro” para verificar.
- Finalmente você pode tentar.
- Em primeiro lugar, selecione ou abra um compromisso, no qual haja um prompt “Conflitos com outro compromisso”.
- Em seguida, clique no botão de macro na barra de ferramentas de acesso rápido.
- De uma só vez, você receberá uma mensagem listando todos os compromissos conflitantes, mostrados na captura de tela a seguir:
Precauções essenciais antes da corrupção do Outlook
Sabe-se que o Outlook é propenso a falhas e erros. Portanto, é essencial estar bem preparado para possíveis problemas de segurança do Outlook. Uma das precauções mais importantes é o backup periódico. Além disso, recomenda-se ter um sistema de backup especializado e robusto. Reparo do Outlook ferramenta, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperação mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

