كيف ترسل بريدًا إلكترونيًا في Outlook باستخدام VBA؟

تم التحديث: أغسطس 2021 ؛ ينطبق على Microsoft Outlook 365 / 2019/2016

هذه ملاحظة حصلنا عليها من أحد القراء.

شكرًا لك على تعليمات الترميز المفيدة جدًا في Outlook. أتساءل عما إذا كان يمكنك مشاركة بعض التعليمات البرمجية للمساعدة في أتمتة إرسال بريد إلكتروني في Outlook؟ أعلم أن هناك عدة طرق لإرسال رسالة متكررة ولكني مهتم على وجه التحديد باستخدام VBA لهذه المهمة.

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

كتابة VBA لإرسال رسائل البريد الإلكتروني في Outlook

في المثال البسيط أدناه ، سنغطي الخطوات التالية:

  1. أولاً ، سنستخدم نموذج كائن VBA Outlook لإنشاء عنصر بريد إلكتروني جديد.
  2. ثم سنمضي قدمًا ونحدد أهمية الرسالة ، والمستلمين (مفصولين بفاصلة منقوطة) ونمط النص الأساسي والمحتوى.
  3. ثم سنعرض الرسالة في تطبيق Microsoft Outlook الخاص بك.
  4. أخيرًا ، سنمضي قدمًا ونرسله إلى المستلمين.

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

Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)

With MyEmail
.To = ""
.Importance = olImportanceHigh
.Subject = ""
.Body = ""
.BodyFormat = olFormatHTML
.Display
End With

'I purposely commented the next line, uncomment it by removing the "'" sign to send your email.
' MyEmail.Send
End Sub

اختصار ماكرو Outlook VBA

قد ترغب في النظر في ربط رمز VBA الذي كتبته للتو باستخدام زر أمر في Outlook. سيسمح لك ذلك بتشغيله بسهولة من اختصار موجود في شريط Outlook.

إليك كيفية القيام بذلك:

  1. أولاً ، انطلق وافتح Microsoft Outlook.
  2. اضغط على ملف ثم حدد الخيارات
  3. انتقل الآن وحدد تخصيص الشريط.
  4. في قسم تخصيص الشريط ، ستلاحظ مربع قائمة اختيار الأوامر من.
  5. حدد وحدات الماكرو
  6. ثم حدد رمز VBA الذي تم إنشاؤه حديثًا ، وفي حالتنا ، يجب أن يكون الاسم SendMail.
  7. ثم اضغط على إضافة ثم موافق. اختياريًا ، قد ترغب في تعيين رمز للماكرو الخاص بك.
  8. سيكون الماكرو الخاص بك متاحًا في شريط أدوات الوصول السريع في الجانب الأيسر العلوي لتطبيق Outlook الخاص بك.

المشاكل المحتملة مع إعدادات الماكرو VBA

قد تحتاج إعدادات ماكرو Outlook إلى الضبط من أجل تشغيل وحدات الماكرو. إذا كان الأمر كذلك ، فإليك كيفية القيام بذلك.

المكافأة: أرسل بريدًا إلكترونيًا من Outlook باستخدام PowerShell

في PowerShell، يمكنك استخدام Send-MailMessage cmdlet لإرسال البريد الإلكتروني. ومع ذلك، فهو يتطلب المصادقة على خادم البريد، ولا يدعم طرق المصادقة الحديثة، مثل OAuth و مصادقة Microsoft الحديثة. لذلك، يكون إرسال بريد إلكتروني أسهل بكثير إذا كان لديك ملف تعريف Outlook تم تكوينه على جهاز الكمبيوتر الخاص بك.

في ما يلي مثال على برنامج PowerShell النصي الذي يقرأ البيانات من ملف Excel ويستخدم ملف تعريف Outlook لإرسال بريد إلكتروني إلى كل مستخدم:

# افتح ملف Excel
$ExcelObj = كائن جديد -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# احصل على عدد الصفوف المملوءة في ملف xlsx
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# قم بالمرور عبر جميع الصفوف في العمود 1، بدءًا من الصف الثاني (تحتوي هذه الخلايا على أسماء المستخدمين وعناوين البريد الإلكتروني).
for($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Status =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# إنشاء نص الرسالة
$strSubj = " حالة حسابك على نطاق woshub.com "
$strBody = "عزيزي " + $FullUsername
$strBody = $strBody + " `r`n حسابك في نطاق woshub.com موجود في " + $الحالة
$strBody = $strBody + "`r`n تاريخ ووقت آخر تغيير لكلمة المرور هو: " +  $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# نفترض أن Outlook قيد التشغيل، وإذا لم يكن كذلك فستحتاج إلى تشغيله باستخدام الأمر $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# أرفق ملفًا (إذا لزم الأمر)
$email.Attachments.add($strfile)
#أرسل رسالة البريد الإلكتروني
$email.Send()

برنامج Powershell النصي لإرسال البريد الإلكتروني من ملف تعريف Outlook الذي تم تكوينه

يفترض برنامج PowerShell النصي هذا أن Outlook يعمل على جهاز الكمبيوتر الخاص بك. يقوم البرنامج النصي بإنشاء موضوع ونص البريد الإلكتروني لكل عنوان SMTP للمستلم في ملف XLSX وإرفاق الملف. ثم يرسل البريد الإلكتروني.


كيفية إنشاء قالب بريد إلكتروني في Microsoft Outlook.com 365؟

كيفية إنشاء قالب بريد إلكتروني في Microsoft Outlook.com 365؟

كيفية إنشاء قالب بريد إلكتروني في Microsoft Outlook.com 365؟

كيفية تعديل تلوين الرصاص في Word؟

كيفية تعديل تلوين الرصاص في Word؟

ستتعلم في هذا المنشور كيفية تعديل لون وحجم القوائم / النقاط النقطية في Excel و PowerPoint و Word 365/2016/2019.

قم بإيقاف وإزالة رسائل البريد الإلكتروني المكررة في Outlook 2016 و 2019

قم بإيقاف وإزالة رسائل البريد الإلكتروني المكررة في Outlook 2016 و 2019

هل صندوق البريد الخاص بك مزدحم بإدخالات بريد إلكتروني مكررة؟ تعرف على كيفية إيقاف تلقي وإزالة الرسائل المكررة في علب بريد Outlook 365/2019/2016 في كل من MAC و Windows.

كيفية إضافة صور gif في نص البريد الإلكتروني Outlook 2016/2019 أو التوقيع؟

كيفية إضافة صور gif في نص البريد الإلكتروني Outlook 2016/2019 أو التوقيع؟

تعرف على كيفية إضافة / تضمين وإرسال صورة gif إلى بريدك الإلكتروني الصادر في Outlook 2016 و 2019.

كيف أقوم بتحديث بريد صندوق الوارد الخاص بي في Outlook عندما لا يتم تحديثه تلقائيًا؟

كيف أقوم بتحديث بريد صندوق الوارد الخاص بي في Outlook عندما لا يتم تحديثه تلقائيًا؟

لا يتم تحديث البريد الوارد في Outlook تلقائيًا؟ تعرف على كيفية تحديث صندوق الوارد الخاص بك تلقائيًا في Outlook 365/2019/2016/2013.

كيف ترسل بريدًا إلكترونيًا في Outlook باستخدام VBA؟

كيف ترسل بريدًا إلكترونيًا في Outlook باستخدام VBA؟

تعلم كيفية كتابة وحدات ماكرو Outlook لأتمتة إرسال البريد الإلكتروني.

لماذا Outlook غير متصل أو غير متصل وكيف يمكن إعادة الاتصال؟

لماذا Outlook غير متصل أو غير متصل وكيف يمكن إعادة الاتصال؟

تعرف على كيفية تشخيص مشكلات انقطاع اتصال عميل Microsoft Outlook المختلفة وإصلاحها في نظام التشغيل Windows 10.

نماذج Outlook: كيفية إنشاء نماذج قابلة للتعبئة في Microsoft Office 2016/2019؟

نماذج Outlook: كيفية إنشاء نماذج قابلة للتعبئة في Microsoft Office 2016/2019؟

تعرف على كيفية تصميم وإنشاء نماذج مستخدم مخصصة في Outlook.

أوقف إعلامات تقويم Outlook 365/2019/2016 للاجتماعات والمواعيد من الظهور

أوقف إعلامات تقويم Outlook 365/2019/2016 للاجتماعات والمواعيد من الظهور

تعرف على كيفية تعطيل التذكيرات والإشعارات من تقويمات Outlook 2016/2019 ، على كل من Windows و MAC.

كيف تجعل Microsoft Outlook يعمل بشكل أسرع (إصدارات 2019/365/2016)؟

كيف تجعل Microsoft Outlook يعمل بشكل أسرع (إصدارات 2019/365/2016)؟

تعرف على كيفية تحسين أداء Outlook.