كيفية إرسال رسائل البريد الإلكتروني من جداول البيانات إكسل باستخدام مخطوطات VBA - تقني العرب

Post Top Ad

الثلاثاء، 20 نوفمبر 2018

كيفية إرسال رسائل البريد الإلكتروني من جداول البيانات إكسل باستخدام مخطوطات VBA

كيفية إرسال رسائل البريد الإلكتروني من جداول البيانات إكسل باستخدام مخطوطات VBA


لإرسال رسائل البريد الإلكتروني من Microsoft Excel يتطلب فقط بعض البرامج النصية البسيطة. أضف هذه الوظيفة إلى جداول البيانات الخاصة بك ويمكنك بالفعل تحسين مقدار ما يمكنك إنجازه في Excel.

لقد قمنا بتغطية الكثير من وحدات الماكرو الرائعة من Excel ، والتي يمكنها إنجاز الأشياء نفسها التي يمكن أن تقوم بها البرامج النصية لـ VBA ، ولكن بدون الحاجة إلى معرفة البرمجة. ولكن هناك العديد من الأشياء المتقدمة التي لا يمكنك القيام بها إلا مع VBA ، مثل إنشاء تقرير جدول بيانات بكافة معلومات الكمبيوتر الشخصي.

لماذا إرسال البريد الإلكتروني من اكسل؟

هناك الكثير من الأسباب التي قد تجعلك ترغب في إرسال بريد إلكتروني من داخل Microsoft Excel.
ربما يكون لديك فريق يقوم بتحديث المستندات أو جداول البيانات على أساس أسبوعي ، وتريد أن تتلقى إشعارًا بالبريد الإلكتروني عند الانتهاء من هذه التحديثات. أو قد يكون لديك جدول بيانات لجهات الاتصال وتريد إرسال بريد إلكتروني واحد إلى جميعهم في وقت واحد.
من المحتمل أنك تفكر في أن البرمجة النصية للبريد الإلكتروني من Excel ستكون معقدة. هذا ليس هو الحال على الإطلاق.
ستستخدم التقنية في هذه المقالة ميزة متوفرة في Excel VBA لفترة طويلة ، كائنات بيانات التعاون (CDO).

cdo في التفوق
CDO هو مكون مراسلة يستخدم في Windows منذ الأجيال المبكرة من نظام التشغيل. كان يطلق عليه اسم CDONTS ، ثم مع ظهور نظام Windows 2000 و XP ، تم استبداله بـ "CDO لـ Windows 2000". تم تضمين هذا المكون بالفعل في تثبيت VBA الخاص بك داخل Microsoft Word أو Excel وهو جاهز للاستخدام.
استخدام المكون يجعل إرسال رسائل البريد الإلكتروني من داخل منتجات Windows باستخدام VBA غاية في السهولة. في هذا المثال ، ستستخدم مكون CDO في Excel لإرسال بريد إلكتروني من شأنه تسليم النتائج من خلية Excel محددة.

الخطوة 1: إنشاء ماكرو VBA

داخل علامة التبويب المطور ، انقر فوق " إدراج" في مربع "عناصر التحكم" ، ثم حدد زر أمر.
مضيفا زر في اكسل
ارسمه في الورقة ثم أنشئ ماكرو جديدًا له بالنقر فوق وحدات الماكرو في شريط مطور البرامج.
إضافة ماكرو لزر الأمر
عند النقر فوق الزر " إنشاء" ، سيتم فتح محرر VBA.
قم بإضافة المرجع إلى مكتبة CDO بالانتقال إلى أدوات > مراجع في المحرر.
مضيفا المراجع في التفوق
قم بالتمرير لأسفل القائمة حتى تجد Microsoft CDO لـ Windows 2000 Library . قم بتمييز مربع الاختيار وانقر فوق موافق 
مضيفا cdo للمراجع ويندوز
عند النقر فوق " موافق" ، دوّن اسم الدالة التي تقوم بلصق النص البرمجي فيها. ستحتاجها لاحقًا.

الخطوة 2: إعداد CDO "من" و "إلى" الحقول

للقيام بذلك ، تحتاج أولاً إلى إنشاء كائنات البريد وإعداد جميع الحقول الضرورية لإرسال البريد الإلكتروني.
نضع في اعتبارنا أنه في حين أن العديد من الحقول اختيارية، و من و إلى الحقول مطلوبة.
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String

strSubject = "Results from Excel Spreadsheet"
strFrom = "rdube02@gmail.com"
strTo = "rdube02@gmail.com"
strCc = ""
strBcc = ""
strBody = "The total results for this quarter are: " & Str(Sheet1.Cells(2, 1))
الشيء الرائع في هذا هو أنه يمكنك إنشاء أي سلسلة تريد تخصيص رسالة بريد إلكتروني كاملة وتعيينها لمتغير strBody .
تجميع مكونات الرسالة معًا باستخدام السلسلة & string لإدراج البيانات من أي من أوراق Microsoft Excel مباشرة في رسالة البريد الإلكتروني ، تمامًا كما هو موضح أعلاه.

الخطوة 3: تكوين CDO لاستخدام SMTP خارجي

المقطع التالي من التعليمات البرمجية هو المكان الذي سيتم فيه تكوين CDO لاستخدام أي خادم SMTP خارجي لإرسال البريد الإلكتروني.
هذا المثال هو إعداد غير SSL عبر Gmail. CDO قادر على SSL ، ولكن هذا خارج نطاق هذه المقالة. إذا كنت بحاجة إلى استخدام SSL ، فيمكن أن يساعدك هذا الرمز المتقدم في Github .
Set CDO_Mail = CreateObject("CDO.Message")
On Error GoTo Error_Handling

Set CDO_Config = CreateObject("CDO.Configuration")
CDO_Config.Load -1

Set SMTP_Config = CDO_Config.Fields

With SMTP_Config
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@website.com"
 .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
 .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
 .Update
End With

With CDO_Mail
 Set .Configuration = CDO_Config
End With

الخطوة 4: إتمام إعداد CDO

الآن بعد أن قمت بتكوين الاتصال بخادم SMTP لإرسال البريد الإلكتروني ، كل ما عليك فعله هو ملء الحقول المناسبة لكائن CDO_Mail ، وإصدار أمر إرسال .
إليك كيفية القيام بذلك:
CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send

Error_Handling:
If Err.Description <> "" Then MsgBox Err.Description
لن يكون هناك أي مربعات منبثقة أو رسائل تنبيه أمان ، والتي قد تحدث عندما تلجأ إلى استخدام كائن بريد Outlook.
يضع CDO البريد الإلكتروني معًا ويستخدم تفاصيل اتصال خادم SMTP لإيقاف تشغيل الرسالة. إنها أسهل طريقة لدمج البريد الإلكتروني في النصوص البرمجية لـ Microsoft Word أو Excel VBA.
لتوصيل زر الأمر بهذا البرنامج النصي ، انتقل إلى محرر التعليمة وانقر فوق " الورقة 1" لعرض رمز VBA لورقة العمل تلك.
اكتب اسم الوظيفة التي قمت بلصق البرنامج النصي أعلاه.
ربط زر الأمر إلى البرنامج النصي
في ما يلي شكل الرسالة التي تلقيتها في البريد الوارد:
تلقي البريد الإلكتروني المتميز
ملاحظة : إذا تلقيت رسالة خطأ تفيد بأن النقل فشل في الاتصال بالخادم ، فتأكد من إدخال اسم المستخدم وكلمة المرور و خادم SMTP ورقم المنفذ الصحيح في أسطر الشفرة المدرجة أسفل مع SMTP_Config .

خذ مزيد من وأتمت العملية برمتها

من الجيد أن تتمكن من إرسال بريد إلكتروني من Excel بلمسة زر واحدة. ومع ذلك ، قد ترغب في استخدام هذه الوظيفة على أساس منتظم ، وفي هذه الحالة سيكون من المنطقي أتمتة العملية .5 الموارد ل Excel وحدات الماكرو لأتمتة جداول البيانات الخاصة بك
للقيام بذلك ، ستحتاج إلى إجراء تغيير على الماكرو. توجه إلى محرر Visual Basic وقم بنسخ ولصق كامل الشفرة التي وضعناها معًا.
بعد ذلك ، حدد ThisWorkbook من التسلسل الهرمي للمشروع .
من الحقلين المنسدين في أعلى إطار التعليمات البرمجية ، حدد المصنف وحدد فتح من القائمة المنسدلة أساليب.
الصق نص البريد الإلكتروني أعلاه في Workbook_Open () الخاص .
سيقوم هذا بتشغيل الماكرو كلما قمت بفتح ملف Excel.
الصق نص البريد الإلكتروني
المقبل ، وفتح جدولة المهام .
ستستخدم هذه الأداة لتطلب من Windows فتح جدول البيانات تلقائيًا على فترات زمنية منتظمة ، وعند هذه النقطة سيتم بدء الماكرو ، وإرسال البريد الإلكتروني.
إنشاء مهمة أساسية في جدولة المهام
حدد " إنشاء مهمة أساسية" ... من قائمة " الإجراء " ، وعمل طريقك من خلال المعالج حتى تصل إلى شاشة " الإجراء" .
حدد بدء برنامج وانقر فوق التالي .
حدد برنامج جدولة المهام
استخدم الزر استعراض للعثور على موقع Microsoft Excel على جهاز الكمبيوتر الخاص بك ، أو قم بنسخ المسار ولصقه في حقلالبرنامج / البرنامج النصي .
ثم أدخل المسار إلى مستند Microsoft Excel في الحقل " إضافة وسائط" .
أكمل المعالج ، وستكون الجدولة في مكانها.
يجدر إجراء اختبار عن طريق جدولة الإجراء لبضع دقائق في المستقبل ، ثم تعديل المهمة بعد التأكد من أنها تعمل
ملاحظة : قد تضطر إلى ضبط إعدادات "مركز التوثيق" الخاصة بك للتأكد من تشغيل الماكرو بشكل صحيح.
للقيام بذلك ، افتح جدول البيانات وانتقل إلى ملف > خيارات > مركز التوثيق .
من هنا ، انقر فوق إعدادات مركز التوثيق ، وفي الشاشة التالية اضبط الاتصال اللاسلكي على عدم عرض معلومات حول المحتوى المحظور .

اجعل Microsoft Excel يعمل من أجلك

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

ليست هناك تعليقات:

إرسال تعليق

Post Bottom Ad