Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيف يمكنك إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال إذا كان اليوم هو عيد ميلادها في Outlook؟

Author Xiaoyang Last modified

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

إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد ميلادها باستخدام كود VBA في Outlook


إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد ميلادها باستخدام كود VBA في Outlook

لإرسال رسالة تهنئة تلقائيًا إلى جهة اتصال إذا كان اليوم هو عيد ميلادها، قم أولاً بإدراج كود VBA، ثم تحتاج إلى إنشاء مهمة متكررة لتفعيل الكود.

قد تساعدك الخطوات التالية:

1. قم بتشغيل Outlook، ثم اضغط مع الاستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. في نافذة Microsoft Visual Basic for Applications، انقر نقرًا مزدوجًا على ThisOutlookSession من لوحة Project1(VbaProject.OTM) لفتح النموذج، ثم قم بنسخ ولصق الكود التالي في الوحدة الفارغة.

كود VBA: إرسال رسالة تهنئة تلقائيًا إلى جهة اتصال بناءً على عيد الميلاد:

Private Sub Application_Reminder(ByVal Item As Object)
Dim xTempMail As MailItem
Dim xFilePath As String
Dim xItems As Outlook.Items
Dim xItem As Object
Dim xContactItem As Outlook.ContactItem
Dim xTodayDate As String
Dim xBirthdayDate As String
Dim xGreetingMail As Outlook.MailItem
Dim xWordDoc As Word.Document
Dim xGreetings As String
Dim xBool As Boolean
xFilePath = CreateObject("shell.Application").NameSpace(5).self.Path & "\UserTemplates"
Set xFSO = CreateObject("Scripting.FileSystemObject")
If xFSO.FolderExists(xFilePath) = False Then
    MkDir xFilePath
End If
If IsFileExists(xFilePath & "\Birthday Greeting Mail.oft") = False Then
    Set xTempMail = Outlook.CreateItem(olMailItem)
    xTempMail.SaveAs xFilePath & "\Birthday Greeting Mail.oft", olTemplate
    xTempMail.Close olDiscard
End If
If (TypeOf Item Is TaskItem) And (Item.Subject = "Send Birthday Greeting Mail") Then
xGreetings = "Happy Birthday!"
           xGreetings = InputBox("Input birthday greetings", "Kutools for Outlook", xGreetings)
   xTodayDate = Month(Date) & "-" & Day(Date)
   Set xItems = Outlook.Application.Session.GetDefaultFolder(olFolderContacts).Items
   For Each xItem In xItems
       If Not (TypeOf xItem Is ContactItem) Then Exit Sub
       Set xContactItem = xItem
       xBirthdayDate = Month(xContactItem.Birthday) & "-" & Day(xContactItem.Birthday)
       If xBirthdayDate = xTodayDate Then
           Set xGreetingMail = Outlook.Application.CreateItemFromTemplate(xFilePath & "\Birthday Greeting Mail.oft")
           Set xWordDoc = xGreetingMail.GetInspector.WordEditor
           
           xWordDoc.Range.InsertBefore "Dear " & xContactItem.LastName & Chr(10) & xGreetings & Chr(10) & Chr(10)
           With xGreetingMail
                .Recipients.Add (xContactItem.Email1Address)
                .Subject = "Happy Birthday!"
                .Display
                .Close (olSave)
                .Send
          End With
       End If
   Next
End If
End Sub
Function IsFileExists(ByVal FileName As String) As Boolean
Dim xFileSystem As Object
Set xFileSystem = CreateObject("Scripting.FileSystemObject")
If xFileSystem.FileExists(FileName) = True Then
    IsFileExists = True
Else
    IsFileExists = False
End If
End Function 
the screenshot of step about using vba to send a greeting message to a contact automatically if his birthday is today in Outlook 1

3. بعد ذلك، انقر فوق أدوات > مراجع في نافذة Microsoft Visual Basic for Applications، في مربع الحوار المنبثق References-Project1، حدد خياري Microsoft Word Object Library و Microsoft Scripting Runtime من قائمة المراجع المتاحة، كما هو موضح في الصورة التالية:

4. بعد ذلك، انقر فوق موافق لإغلاق مربع الحوار، الآن يجب أن تقوم بإنشاء مهمة لتفعيل كود VBA. يرجى الانتقال إلى لوحة المهام، وانقر فوق مهمة جديدة لإنشاء مهمة:

(1.) في سطر الموضوع، يجب عليك إدخال الموضوع كـ إرسال بريد تهنئة بعيد الميلاد؛

(2.) ثم انقر فوق تكرار أسفل علامة التبويب المهمة؛

(3.) في مربع حوار نمط التكرار للمهمة، حدد يوميًا وحدد الخيار كل 1 أيام من قسم نمط التكرار؛

5. بعد ذلك، انقر فوق موافق لإغلاق مربع الحوار، والعودة إلى نافذة المهمة، يرجى تعيين تذكير للمهمة المتكررة كما هو موضح في الصورة التالية:

6. من الآن فصاعدًا، عند ظهور التذكير، سيتم تشغيل الماكرو فورًا. سيظهر مربع حوار ينبهك لإدراج التهاني بعيد الميلاد كما هو موضح في الصورة التالية:

7. بعد ذلك، انقر فوق زر موافق، وسيتم إرسال بريد تهنئة تلقائيًا إلى جهة الاتصال التي يصادف عيد ميلادها اليوم.


أفضل أدوات تعزيز الإنتاجية في المكتب

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

جرب الإصدار الجديد كليًا من Kutools لـ Outlook مع أكثر من100 ميزة مذهلة! انقر لتنزيل الآن!

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

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

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

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

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

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

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

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

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

kutools for outlook features1 kutools for outlook features2

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

موصى به بقوة: Kutools لـ Office (خمسة في واحد)

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

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