كيف يمكن إرسال بريد إلكتروني تلقائيًا عند استيفاء تاريخ الاستحقاق في Excel؟
كما هو موضح في لقطة الشاشة أدناه، إذا كان تاريخ الاستحقاق في العمود C أقل من أو يساوي 7 أيام (مثلاً، التاريخ الحالي هو 2017/9/13)، فسيُرسَل بريد إلكتروني تلقائيًا إلى المستلم المحدد في العمود A، مع ظهور المحتوى الموجود في العمود B كنص للبريد. كيف يمكنك تنفيذ هذه المهمة؟ توفر لك هذه المقالة كود VBA المصمم خصيصًا لمساعدتك على إنجازها بسلاسة وفعالية.

إرسال بريد إلكتروني إذا تم استيفاء تاريخ الاستحقاق باستخدام كود VBA
إرسال بريد إلكتروني إذا تم استيفاء تاريخ الاستحقاق باستخدام كود VBA
يرجى اتباع الخطوات التالية لإرسال تذكير عبر البريد الإلكتروني عند استحقاق التاريخ في Excel.
1. اضغط على مفاتيحAlt + F11 في آنٍ واحد لفتح نافذةMicrosoft Visual Basic for Applications.
2. في نافذةMicrosoft Visual Basic for Applications، انقر علىإدراج > وحدة نمطية (Module)، ثم انسخ والصق كود VBA أدناه في نافذة الوحدة النمطية.
كود VBA: إرسال بريد إلكتروني إذا تم إغلاق تاريخ الاستحقاق في Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub ملاحظات: السطرIf CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then في كود VBA يعني أن تاريخ الاستحقاق يجب أن يكون بعد اليوم الحالي بأكثر من يومٍ واحد، وألا يتجاوز 7 أيام. يمكنك تعديله حسب الحاجة.
3. اضغط على مفتاحF5 لتشغيل الكود. في مربع الحوار الأول الظاهرKutools لـ Excel، يُرجى تحديد نطاق عمود تاريخ الاستحقاق، ثم انقر على زرموافق. راجع لقطة الشاشة:

4. بعد ذلك، يظهر مربع الحوار الثانيKutools لـ Excel. يُرجى تحديد نطاق العمود المقابل الذي يحتوي على عناوين البريد الإلكتروني للمستلمين، ثم انقر على زرموافق. راجع لقطة الشاشة:

5. في مربع الحوار الأخيرKutools لـ Excel، حدد المحتوى الذي تريد تضمينه في نص البريد الإلكتروني، ثم انقر على زرموافق.

بعد ذلك، سيتم إنشاء بريد إلكتروني تلقائيًا يتضمّن المستلم المحدّد والموضوع والنص المُدخلين، إذا كان تاريخ الاستحقاق في العمود C أقل من أو يساوي 7 أيام. يُرجى النقر على زرإرساللإرسال البريد الإلكتروني.

ملاحظات:
1. يتم إنشاء كل بريد إلكتروني تلقائيًا ليتوافق مع تاريخ استحقاق معيّن. فعلى سبيل المثال، إذا وُجدت ثلاثة تواريخ استحقاق تستوفي المعايير، فسيتم إنشاء ثلاث رسائل بريد إلكتروني تلقائيًا.
2. لن يُنفَّذ هذا الكود ما لم تتوفر تواريخ تستوفي المعايير.
3. يعمل كود VBA فقط إذا كنت تستخدم Outlook كبرنامج بريدك الإلكتروني.

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
مقالات ذات صلة:
- كيف يمكن إرسال بريد إلكتروني تلقائيًا عند تغيُّر قيمة خلية في Excel؟
- كيف يمكن إرسال بريد إلكتروني عبر Outlook تلقائيًا عند حفظ المصنف في Excel؟
- كيف يمكن إرسال بريد إلكتروني تلقائيًا عند تعديل خلية معيّنة في Excel؟
- كيف يمكن إرسال بريد إلكتروني تلقائيًا عند النقر على زر في Excel؟
- كيف يمكن إرسال تذكير أو إشعار عبر البريد الإلكتروني عند تحديث المصنف في Excel؟
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل