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

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

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





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





هل تفضل مشاهدة هذا البرنامج التعليمي كفيديو؟ لقد حصلت على تغطيتها!





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

هناك العديد من الأسباب التي قد تجعلك ترغب في إرسال بريد إلكتروني من داخل Microsoft Excel.

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



ربما تفكر في أن البرمجة النصية لبث بريد إلكتروني من Excel ستكون معقدة. هذا ليس هو الحال على الإطلاق.

ستستفيد التقنية الموجودة في هذه المقالة من ميزة كانت متوفرة في Excel VBA لفترة طويلة ، كائنات بيانات التعاون (CDO).





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

يجعل استخدام المكون إرسال رسائل البريد الإلكتروني من داخل منتجات Windows باستخدام VBA أمرًا سهلاً للغاية. في هذا المثال ، ستستخدم مكون CDO في Excel لإرسال بريد إلكتروني يقدم النتائج من خلية Excel معينة.





الخطوة 1: قم بإنشاء VBA Macro

الخطوة الأولى هي الانتقال إلى علامة التبويب Excel Developer.

داخل علامة التبويب Developer ، انقر فوق إدراج في مربع عناصر التحكم ، ثم حدد زر الأمر.

ارسمها في الورقة ثم قم بإنشاء ماكرو جديد لها بالنقر فوق وحدات الماكرو في شريط المطور.

عند النقر فوق ملف إنشاء الزر ، سيفتح محرر VBA.

أضف المرجع إلى مكتبة CDO بالانتقال إلى أدوات > مراجع في المحرر.

قم بالتمرير لأسفل القائمة حتى تجد CDO Microsoft لمكتبة Windows 2000 . حدد خانة الاختيار وانقر فوق نعم .

عند النقر فوق نعم ، قم بتدوين اسم الوظيفة حيث تقوم بلصق البرنامج النصي. ستحتاجه لاحقًا.

الخطوة 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))

الشيء الرائع في هذا الأمر هو أنه يمكنك إنشاء أي سلسلة تريد تخصيص رسالة بريد إلكتروني كاملة وتعيينها إلى ملف ستربودي عامل.

اجمع مكونات الرسالة معًا باستخدام & سلسلة لإدراج البيانات من أي من أوراق Microsoft Excel مباشرة في رسالة البريد الإلكتروني ، تمامًا كما هو موضح أعلاه.

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

القسم التالي من الكود هو المكان الذي ستقوم فيه بتكوين CDO لاستخدام أي خادم SMTP خارجي لإرسال البريد الإلكتروني.

هذا المثال هو إعداد غير SSL من خلال Gmail. CDO قادر على SSL ، لكن هذا خارج نطاق هذه المقالة. إذا كنت بحاجة إلى استخدام SSL ، فهذا كود متقدم في جيثب استطيع المساعدة.

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 لورقة العمل هذه.

اكتب اسم الوظيفة حيث قمت بلصق النص أعلاه.

كيفية تقليل استخدام ذاكرة الوصول العشوائي windows 10

هذا ما بدت عليه الرسالة التي تلقيتها في بريدي الوارد:

ملحوظة : إذا تلقيت خطأ يقرأ فشل النقل في الاتصال بالخادم ، تأكد من إدخال اسم المستخدم الصحيح وكلمة المرور وخادم SMTP ورقم المنفذ في سطور التعليمات البرمجية المدرجة أدناه مع SMTP_Config .

خذها أكثر وأتمتة العملية برمتها

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

للقيام بذلك ، ستحتاج إلى إجراء تغيير على الماكرو. توجه إلى محرر Visual Basic وانسخ والصق كامل الكود الذي وضعناه معًا.

بعد ذلك ، حدد ThisWorkbook من مشروع التسلسل الهرمي.

من حقلي القائمة المنسدلة أعلى نافذة التعليمات البرمجية ، حدد دفتر العمل واختر افتح من القائمة المنسدلة 'الطرق'.

الصق نص البريد الإلكتروني أعلاه في مصنف فرعي خاص_ فتح () .

سيؤدي هذا إلى تشغيل الماكرو كلما فتحت ملف Excel.

بعد ذلك ، افتح جدول المهام .

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

يختار إنشاء مهمة أساسية ... من عمل القائمة والعمل طريقك من خلال المعالج حتى تصل إلى عمل شاشة.

يختار ابدأ البرنامج وانقر التالي .

استخدم ال تصفح للعثور على موقع Microsoft Excel على جهاز الكمبيوتر الخاص بك ، أو انسخ والصق المسار في ملف البرنامج / السيناريو حقل.

بعد ذلك ، أدخل المسار إلى مستند Microsoft Excel في ملف أضف الحجج حقل.

أكمل المعالج ، وستكون الجدولة الخاصة بك في مكانها الصحيح.

يجدر تشغيل اختبار عن طريق جدولة الإجراء لبضع دقائق في المستقبل ، ثم تعديل المهمة بمجرد التأكد من أنها تعمل.

ملحوظة : قد تضطر إلى ضبط إعدادات مركز التوثيق للتأكد من أن الماكرو يعمل بشكل صحيح.

للقيام بذلك ، افتح جدول البيانات وانتقل إلى ملف > خيارات > مركز الثقة .

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

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

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

كيفية ضبط الهوامش في مستندات جوجل

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

يستغرق الأمر وقتًا لبناء الخبرة باستخدام VBA ، لكنك سترى قريبًا ثمار عملك إذا كان بإمكانك الاستمرار في ذلك.

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

يشارك يشارك سقسقة بريد الالكتروني مقارنة بين Canon و Nikon: ما هي ماركة الكاميرا الأفضل؟

Canon و Nikon هما أكبر اسمين في صناعة الكاميرات. ولكن ما هي العلامة التجارية التي تقدم أفضل تشكيلة من الكاميرات والعدسات؟

اقرأ التالي
مواضيع ذات صلة
  • إنتاجية
  • برمجة
  • نصائح عبر البريد الإلكتروني
  • برمجة
  • البرمجة المرئية الأساسية
  • مايكروسوفت اكسل
  • نصائح مايكروسوفت أوفيس
نبذة عن الكاتب ريان دوبي(تم نشر 942 مقالة)

رايان حاصل على درجة البكالوريوس في الهندسة الكهربائية. لقد عمل 13 عامًا في هندسة الأتمتة ، وخمس سنوات في تكنولوجيا المعلومات ، وهو الآن مهندس تطبيقات. مدير تحرير سابق لـ MakeUseOf ، تحدث في المؤتمرات الوطنية حول تصور البيانات وتم عرضه على التلفزيون والإذاعة الوطنية.

المزيد من Ryan Dube

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك