Bỏ qua nội dung chính

Làm cách nào để ngăn Outlook nhắc nhở quá sớm hoặc quá muộn?

Ví dụ: bạn làm việc từ 9:00 sáng đến 6:00 chiều mỗi ngày, nhưng bây giờ bạn đang đặt lịch hẹn lúc 10:00 sáng và thêm lời nhắc 2 giờ cho việc đó trong Outlook. Điều đó có nghĩa là lời nhắc sẽ hoạt động vào lúc 8 giờ sáng trước khi công việc của bạn bắt đầu. Mặt khác, lời nhắc có thể phát ra vào nửa đêm trong những trường hợp đặc biệt. Điều đó khá bất tiện và một số người dùng Outlook có thể muốn ngăn Outlook nhắc nhở quá sớm hoặc quá muộn. Ở đây tôi sẽ giới thiệu một macro VBA để bạn giải quyết nó trong Outlook.

Tab Office - Cho phép chỉnh sửa và duyệt theo tab trong Microsoft Office, giúp công việc trở nên dễ dàng
Kutools for Outlook - Tăng cường Outlook với hơn 100 tính năng nâng cao để đạt hiệu quả vượt trội
Tăng cường Outlook 2021 - 2010 hoặc Outlook 365 của bạn với các tính năng nâng cao này. Tận hưởng bản dùng thử miễn phí toàn diện trong 60 ngày và nâng cao trải nghiệm email của bạn!

Để ngăn Outlook nhắc nhở quá sớm hoặc quá muộn, bạn có thể làm như sau:

Bước 1: Nhấn Khác + F11 trong khi đó để mở cửa sổ Microsoft Visual Basic for Applications.

Bước 2: Mở rộng Đối tượng Microsoft Outlook trong ngăn bên trái và dán macro VBA sau vào ĐâyOutlookSession.

VBA: Ngăn nhắc nhở quá sớm hoặc quá muộn trong Outlook

Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub

 

Chú thích: Bạn có thể chỉ định thời gian làm việc của mình bằng cách thay đổi các thông số sau trong mã VBA ở trên:
Nhắc nhởMaxHour = 20
Nhắc nhởMinHour = 9

Bước 3: Lưu VBA này và khởi động lại Microsoft Outlook của bạn.

Kể từ bây giờ, khi tạo một cuộc hẹn với thời gian nhắc nhở bạn chỉ định thời gian làm việc, nó sẽ bật lên một hộp thoại để nhắc bạn sau khi bạn nhấp vào Lưu & Đóng .

Nếu thời gian nhắc nhở sớm hơn thời gian nhắc nhở được chỉ địnhMinHour, hãy nhấp vào trong hộp thoại, nó sẽ thay đổi thời gian nhắc nhở và làm cho âm thanh nhắc nhở phát ra tại lời nhắc đã chỉ địnhMinHour.

Nếu thời gian nhắc muộn hơn thời gian nhắc nhở đã chỉ địnhMaxHour, hãy nhấp vào trong hộp thoại, nó sẽ thay đổi thời gian nhắc nhở và nhắc bạn theo lời nhắc đã chỉ địnhMaxHour.

Lưu ý: Mã VBA này hoạt động tốt với Outlook 2013, nhưng không hoạt động với Outlook 2010 và 2007.


Công cụ năng suất văn phòng tốt nhất

Kutools cho Outlook - Hơn 100 tính năng mạnh mẽ để tăng cường Outlook của bạn

🤖 Trợ lý thư AI: Email chuyên nghiệp tức thì với phép thuật AI--một cú nhấp chuột để có câu trả lời xuất sắc, giọng điệu hoàn hảo, khả năng thông thạo đa ngôn ngữ. Chuyển đổi email một cách dễ dàng! ...

📧 Tự động hoá email: Vắng Mặt (Có sẵn cho POP và IMAP)  /  Lên lịch gửi email  /  Tự động CC/BCC theo quy định khi gửi Email  /  Tự động chuyển tiếp (Quy tắc nâng cao)   /  Tự động thêm lời chào   /  Tự động chia email nhiều người nhận thành các tin nhắn riêng lẻ hữu ích. Cảm ơn !

📨 Quản lý email: Dễ dàng thu hồi email  /  Chặn email lừa đảo theo chủ đề và những người khác  /  Xóa các email trùng lặp  /  Tìm Kiếm Nâng Cao  /  Hợp nhất các thư mục hữu ích. Cảm ơn !

📁 Tệp đính kèm chuyên nghiệpLưu hàng loạt  /  Tách hàng loạt  /  Nén hàng loạt  /  Tự động lưu   /  Tự động tách  /  Tự động nén hữu ích. Cảm ơn !

🌟 Giao diện ma thuật: 😊Thêm nhiều biểu tượng cảm xúc đẹp và thú vị hơn   /  Tăng năng suất Outlook của bạn với chế độ xem theo thẻ  /  Thu nhỏ Outlook thay vì đóng hữu ích. Cảm ơn !

👍 Kỳ quan chỉ bằng một cú nhấp chuột: Trả lời tất cả bằng tệp đính kèm đến  /   Email chống lừa đảo  /  🕘Hiển thị múi giờ của người gửi hữu ích. Cảm ơn !

👩🏼‍🤝‍👩🏻 Danh bạ & Lịch: Thêm hàng loạt liên hệ từ các email đã chọn  /  Chia nhóm liên hệ thành các nhóm riêng lẻ  /  Xóa lời nhắc sinh nhật hữu ích. Cảm ơn !

Trên 100 tính năng Chờ đợi sự khám phá của bạn! Bấm vào đây để khám phá thêm.

 

 

Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations