KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكنك منع تذكيرات Outlook من الظهور مبكرًا جدًّا أو متأخرًا جدًّا؟

المؤلفكيليتاريخ التعديل

على سبيل المثال، أنت تعمل من الساعة 9:00 صباحًا حتى 6:00 مساءً كل يوم، لكنك الآن تُجدول موعدًا في الساعة 10:00 صباحًا وتضيف له تذكيرًا مدته ساعتان في Outlook. هذا يعني أن التذكير سيظهر عند الساعة 8:00 صباحًا، أي قبل بدء دوامك. ومن ناحية أخرى، قد يُفعَّل التذكير في منتصف الليل في بعض الحالات الخاصة — وهو أمر غير مريح للغاية. وقد يرغب بعض مستخدمي Outlook في منع ظهور التذكيرات مبكرًا جدًّا أو متأخرًا جدًّا. وسأعرض لك هنا ماكرو VBA لحل هذه المشكلة في Outlook.

Office Tab - تمكين التحرير والتصفح عبر علامات التبويب في Microsoft Office، واجعل العمل سهلاً كالنسيم
افتح Kutools لـ Outlook الآن واستمتع بأكثر من 100 ميزة مع وصول غير محدود للأبد
عزِّز Outlook 2024 - 2010 أو Outlook 365 بهذه الميزات المتقدمة. استمتع بـ 100+ ميزات قوية وارتقِ بتجربة بريدك الإلكتروني!

لمنع Outlook من إرسال التذكيرات مبكرًا جدًّا أو متأخرًا جدًّا، يمكنك اتباع الخطوات التالية:

الخطوة 1: اضغط معًا على مفاتيحAlt + F11 لفتح نافذة Microsoft Visual Basic for Applications.

الخطوة 2: قم بتوسيع العنصرMicrosoft Outlook Objects في الجزء الأيسر، ثم الصق ماكرو VBA التالي فيThisOutlookSession.

VBA: منع التذكير المبكر جدًّا أو المتأخر جدًّا في 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

 

ملاحظة: يمكنك تحديد فترة عملك بتغيير المعاملات التالية في كود VBA أعلاه:
reminderMaxHour = 20
reminderMinHour = 9

الخطوة 3: احفظ ماكرو VBA هذا، ثم أعد تشغيل Microsoft Outlook.

ابتداءً من الآن، عند إنشاء موعد باستخدام وقت تذكير خارج فترة العمل التي حددتها، ستظهر نافذة منبثقة لتذكيرك بعد النقر على زرحفظ وإغلاق.

لقطة شاشة للخطوة المتعلقة بمنع تذكير Outlook مبكرًا جدًّا أو متأخرًا جدًّا

إذا كان وقت التذكير أبكر من القيمة المحددة فيreminderMinHour، فانقر علىنعمفي مربع الحوار، وسيتم تعديل وقت التذكير ليصدر عند الساعة المحددة فيreminderMinHour.

إذا كان وقت التذكير لاحقًا من القيمة المحددة فيreminderMaxHour، فانقر علىنعمفي مربع الحوار، وسيتم تعديل وقت التذكير ليذكّرك عند الساعة المحددة فيreminderMaxHour.

ملاحظة:يعمل كود VBA هذا بشكل مثالي مع Outlook 2013، لكنه لا يتوافق مع إصدارَي Outlook 2010 و2007.


أفضل أدوات إنتاجية Office

جرِّب Kutools لـ Outlook الجديد كليًّا مع 100+ ميزة رائعة!انقر للتنزيل الآن!

🤖KUTOOLS AI:يستخدم تقنية ذكاء اصطناعي متقدمة للتعامل مع رسائل البريد الإلكتروني بسلاسة، بما في ذلك الرد عليها، وتلخيصها، وتحسينها، وتوسيعها، وترجمتها، وصياغتها.

📧أتمتة البريد الإلكتروني: الرد التلقائي (متوفر لبروتوكولي POP وIMAP) / جدولة إرسال رسائل البريد الإلكتروني / نسخة تلقائية/مخفية وفق القواعد عند إرسال البريد الإلكتروني / التحويل التلقائي (قاعدة متقدمة) / إضافة التحيّة تلقائيًّا / تقسيم رسائل البريد الإلكتروني ذات المستلمين المتعددين تلقائيًّا إلى رسائل فردية...

📨إدارة البريد الإلكتروني: استدعاء البريد الإلكتروني / حظر رسائل الاحتيال حسب العناوين وغيرها / حذف الرسائل المكررة / البحث المتقدم / تنظيم المجلدات...

📁المرفقات الاحترافية: حفظ دفعة واحدة / فصل دفعة واحدة / ضغط دفعة واحدة / حفظ تلقائي / تفصيل تلقائي / ضغط تلقائي...

🌟سحر الواجهة: 😊إيموجيات أكثر جمالًا وروعة / إشعارك عند وصول رسائل بريد إلكتروني مهمة / تصغير Outlook بدلًا من إغلاقه...

👍عجائب النقرة الواحدة: الرد على الجميع مع المرفقات / الحماية من رسائل التصيد الاحتيالي / 🕘عرض منطقة الوقت الحالي للمرسل...

👩🏼‍🤝‍👩🏻جهات الاتصال والتقويم: إضافة جهات اتصال دفعةً واحدة من رسائل البريد الإلكتروني المحددة / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد...

استخدم Kutools باللغة التي تفضلها – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من 40 لغة أخرى!

افتح Kutools لـ Outlook بنقرة واحدة فورًا! لا تنتظر، نزِّله الآن وحسِّن كفاءتك!

kutools for outlook features1kutools for outlook features2

🚀 التنزيل بنقرة واحدة — احصل على جميع إضافات Office

موصى به بشدة: Kutools for Office (5 في 1)

نقرة واحدة لتنزيلخمسة برامج تثبيتدفعة واحدة —Kutools لـ Excel وOutlook وWord وPowerPointوOffice Tab Pro.انقر للتنزيل الآن!

  • سهولة النقرة الواحدة: نزِّل جميع حزم الإعداد الخمس دفعة واحدة!
  • 🚀جاهز لأي مهمة في Office: ثبِّت الإضافات التي تحتاجها، متى احتجتَ إليها.
  • 🧰متضمَّن: Kutools لـ Excel / Kutools لـ Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint