Khi bạn tạo hoặc thay đổi lịch hẹn trong lịch Outlook, Outlook sẽ tự động kiểm tra xem có lịch hẹn nào trùng lặp hay không. Lúc này, nếu bạn muốn tự kiểm tra các xung đột, bạn có thể sử dụng phương pháp được giới thiệu trong bài viết này.
Có lẽ bạn đã từng thấy dòng chữ “Xung đột với cuộc hẹn khác” khi tạo hoặc thay đổi cuộc hẹn Outlook. Đó là vì Outlook có thể tự động kiểm tra xung đột. Tuy nhiên, Outlook không thể giúp bạn nhanh chóng tìm ra các xung đột bằng các tính năng mặc định của nó. Vì vậy, ở đây chúng tôi sẽ cho bạn biết một phương pháp tạo hàm tìm kiếm tất cả các cuộc hẹn xung đột.

Tìm hiểu tất cả các cuộc hẹn khác xung đột với một cuộc hẹn cụ thể
- Ngay từ đầu, hãy khởi chạy chương trình Outlook của bạn.
- Sau đó, trong cửa sổ chính của Outlook, nhấn nút phím “Alt + F11”.
- Ngay lập tức, bạn sẽ truy cập trình soạn thảo Outlook VBA, trong đó bạn cần mở một mô-đun không sử dụng.
- Tiếp theo, sao chép mã VBA sau vào mô-đun này.
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
- Sau đó, bạn có thể thoát khỏi cửa sổ hiện tại.
- Sau đó thêm macro này vào Thanh công cụ truy cập nhanh như bình thường.
- Sau này bạn cũng nên đảm bảo rằng macro được bật trong Outlook của mình. Chỉ cần vào “Cài đặt macro” để kiểm tra.
- Cuối cùng bạn có thể có một thử.
- Đầu tiên, chọn hoặc mở một cuộc hẹn, trong đó có lời nhắc “Xung đột với cuộc hẹn khác”.
- Sau đó bấm vào nút macro trong Thanh công cụ truy cập nhanh.
- Ngay lập tức, bạn sẽ nhận được thông báo liệt kê tất cả các cuộc hẹn xung đột, được hiển thị dưới dạng ảnh chụp màn hình sau:
Các biện pháp phòng ngừa cần thiết trước khi Outlook bị hỏng
Ai cũng biết Outlook dễ bị lỗi và gặp sự cố. Vì vậy, việc chuẩn bị sẵn sàng để đối phó với các lỗi của Outlook là điều cần thiết. Một trong những biện pháp phòng ngừa quan trọng nhất là sao lưu định kỳ. Ngoài ra, nên chuẩn bị một hệ thống chuyên dụng mạnh mẽ. Sửa chữa Outlook công cụ, như DataNumen Outlook Repair.
Giới thiệu tác giả:
Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm phục hồi mdf và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm

