Skip to main content

كيفية حساب وعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook؟

Author: Kelly Last Modified: 2025-05-30

بشكل عام، سيتم إضافة عيد ميلاد جهة الاتصال تلقائيًا كموعد متكرر سنويًا في التقويم. ولكن هل تعرف كيفية حساب عمر جهة الاتصال وعرض العمر مباشرة في عرض التقويم؟ سيقدم هذا المقال طريقة VBA لحساب عمر كل جهة اتصال وعرضه في موضوع الموعد المتكرر المرتبط في Outlook.

احسب واعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook

the screenshot of calculating age by birthdays in outlook

احسب واعرض الأعمار بناءً على أعياد الميلاد في تقويم Outlook

لحساب عمر كل جهة اتصال وعرض العمر في موضوع الموعد المتكرر المرتبط في تقويم Outlook، يرجى القيام بما يلي:

1. افتح مجلد التقويم الافتراضي، واضغط على مفتاحي "Alt" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications".

2. انقر فوق "إدراج" > "وحدة"، ثم قم بلصق الكود التالي لـ VBA في نافذة الوحدة الجديدة.

VBA: احسب واعرض أعمار جهات الاتصال في تقويم Outlook

Option Explicit
Public Sub UpdateAges()
Dim xOlApp As Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAge As Integer
Dim xOlProp As Outlook.UserProperty
Set xOlApp = Outlook.Application
Set xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Set xOlItems = xOlFolder.Items
For Each xAppointmentItem In xOlItems
If (InStr(1, xAppointmentItem.Subject, "Birthday") Or InStr(1, xAppointmentItem.Subject, "Anniversary")) And xAppointmentItem.IsRecurring = True Then
With xAppointmentItem
If xAppointmentItem.UserProperties("Original Subject") Is Nothing Then
Set xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
.Save
End If
xAge = DateDiff("yyyy", .Start, Date)
.Subject = .UserProperties("Original Subject") & " (" & xAge & " in " & Format(Date, "yyyy") & ")"
.Save
End With
End If
Next
Set xAppointmentItem = Nothing
Set xOlItems = Nothing
Set xOlFolder = Nothing
Set xOlApp = Nothing
End Sub

3. اضغط على "F5" أو انقر فوق زر "تشغيل" لتنفيذ VBA.

عندما تعود إلى التقويم الافتراضي، سترى عمر كل جهة اتصال تم حسابه وعرضه في موضوع موعد عيد الميلاد المتكرر. انظر لقطة الشاشة:

the screenshot of step about calculating age by birthdays in outlook 1

ملاحظات:
(1) في موضوع موعد عيد الميلاد المتكرر لجهة الاتصال، يتم عرض عمر جهة الاتصال داخل قوسين، مثل (41 في 2017)، حيث 41 هو العمر و2017 هو العام الحالي.
(2) إذا قمت بتغيير عيد ميلاد جهة اتصال في مجلد جهات الاتصال، سيتم إزالة العمر المعروض من التقويم تلقائيًا.
(3) يعمل هذا الكود VBA فقط مع تقويم Outlook الافتراضي.


مقالات ذات صلة


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

خبر عاجل: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!

جرّب الآن الإصدار المجاني الجديد كليًا من أدوات Kutools لـ Outlook مع أكثر من70 ميزة مذهلة، متاحة لك مدى الحياة! انقر للتحميل الآن!

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

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

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

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

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

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

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

افتح أدوات Kutools لـ Outlook فورًا بنقرة واحدة. لا تنتظر، قم بالتحميل الآن وزد من إنتاجيتك!

kutools for outlook features1 kutools for outlook features2