لذلك استخدمت هذه المقالة الممتازة
كيفية إرسال بريد إلكتروني تلقائيًا بناءً على قيمة الخلية في Excel؟ (extendoffice. com) وقمت بإلغاء الإجابات من الردود معًا لإنجاز هذا العمل كما أحتاجه ، لكن آخر قطعة لا أستطيع اكتشافها هي كيفية تكرار ما قمت به للتشغيل لخلايا متعددة. لقد حاولت نسخ / لصق وإعادة ترتيب الكود بقيم مختلفة مثل C4 و C5 وما إلى ذلك ، لكنني دائمًا ما أحصل على أخطاء. لقد عملت بشكل رائع حيث إذا كانت القيمة في C3 <5 ، فسوف ترسل بريدًا إلكترونيًا عند حفظ المصنف. ما أحتاجه الآن ، نظرًا لأن هذا يتعلق بورقة المخزون ، هو أن يكون لديك عدة قيم خلايا أخرى تم التحقق منها عند قيم مختلفة . على سبيل المثال ، إذا أرسل C3 <5 بريدًا إلكترونيًا فقط. إذا كانت C4 هي <6 ، فأرسل بريدًا إلكترونيًا. إذا كانت C3 <5 ، و C4 هي <6 و C5 <3 ، فأرسل بريدًا إلكترونيًا. سيكون من الجيد أن يتم إنشاء بريد إلكتروني واحد فقط عند حفظه مع جميع القيم التي تتطابق مع المعايير. ما أحاول القيام به هو إرسال بريد إلكتروني تلقائيًا عندما يقوم شخص ما بحفظ المصنف وانخفض مستوى المخزون لعنصر ما إلى ما دون قيمة معينة حتى أعلم أنه يجب تقديم طلب قريبًا. حتى الآن هذا هو الكود الخاص بي:
ThisWorkbook
مصنف فرعي خاص_AfterSave (نجاح ByVal كـ منطقي)
على خطأ استئناف التالي
خافت xI كعدد صحيح
خافت xRg كمدى
قم بتعيين xRg = Range ("Information! C3")
xI = Int (xRg.Value)
إذا xI <5 ثم
اتصل بـ Mail_small_Text_Outlook
إنهاء حالة
نهاية الفرعية
الوحدة 1
Sub Mail_small_Text_Outlook الفرعي ()
خافت xOutApp ككائن
تعتيم xOutMail ككائن
خافت xMailBody كسلسلة
تعيين xOutApp = CreateObject ("Outlook.Application")
قم بتعيين xOutMail = xOutApp.CreateItem (0)
xMailBody = "مرحبًا" & vbNewLine & vbNewLine & _
"هذا هو السطر 1" & vbNewLine & _
النطاق ("Information! C3") & vbNewLine & _
"هذا هو السطر 2"
على خطأ استئناف التالي
مع xOutMail
.To = "عنوان البريد الإلكتروني"
.CC = ""
.BCC = ""
.Subject = "إرسال عن طريق اختبار قيمة الخلية"
. الجسم = xMailBody
.Display أو استخدام .Send
انتهت ب
على خطأ GoTo 0
تعيين xOutMail = لا شيء
تعيين xOutApp = لا شيء
نهاية الفرعية