Note: The other languages of the website are Google-translated. Back to English

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

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

أرسل بريدًا إلكترونيًا إذا تم النقر فوق الزر برمز VBA


أرسل بريدًا إلكترونيًا إذا تم النقر فوق الزر برمز VBA

يرجى القيام بما يلي لإرسال بريد إلكتروني عبر Outlook إذا تم النقر فوق زر الأمر في مصنف Excel.

1. أدخل زر الأمر في ورقة العمل الخاصة بك عن طريق النقر المطور > إدراج > زر الأمر (عنصر تحكم ActiveX). انظر لقطة الشاشة:

2. انقر بزر الماوس الأيمن فوق زر الأمر الذي تم إدخاله ، ثم انقر فوق عرض الرمز من قائمة النقر بزر الماوس الأيمن كما هو موضح أدناه.

3. في الافتتاح ميكروسوفت فيسوال باسيك للتطبيقات النافذة ، يرجى استبدال الكود الأصلي في نافذة التعليمات البرمجية بنص VBA النصي التالي.

كود فبا: أرسل بريدًا إلكترونيًا إذا تم النقر فوق الزر في Excel

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2017/9/14
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Body content" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2"
                  On Error Resume Next
    With xOutMail
        .To = "Email Address"
        .CC = ""
        .BCC = ""
        .Subject = "Test email send by button clicking"
        .Body = xMailBody
        .Display   'or use .Send
    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing
End Sub

ملاحظة:

1). الرجاء تغيير نص البريد الإلكتروني كما تريد في xMailBody سطر في الكود.

2). استبدال عنوان البريد الإلكتروني مع عنوان البريد الإلكتروني للمستلم في السطر .To = "عنوان البريد الإلكتروني".

3). حدد مستلمي "نسخة إلى" و "نسخة مخفية الوجهة" كما تريد .CC = "" و .Bcc = "" أقسام.

4). تغيير موضوع البريد الإلكتروني في السطر .Subject = "اختبار إرسال البريد الإلكتروني بالنقر فوق الزر".

4. اضغط على قديم + Q مفاتيح في نفس الوقت لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

5. قم بإيقاف تشغيل "وضع التصميم" بالنقر فوق المطور > وضع التصميم. انظر لقطة الشاشة:

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

ملاحظة: يعمل رمز VBA فقط عند استخدام Outlook كبرنامج بريد إلكتروني.

أرسل بريدًا إلكترونيًا بسهولة عبر Outlook بناءً على حقول القائمة البريدية التي تم إنشاؤها في Excel:

إرسال رسائل البريد الإلكتروني فائدة كوتولس ل إكسيل يساعد في إرسال البريد الإلكتروني من خلال Outlook بناءً على حقول القائمة البريدية التي تم إنشاؤها في Excel.
قم بتنزيله وجربه الآن! (30درب مجاني ليوم)


مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (73)
تقييم شنومك من شنومكس · تصنيفات 1
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أتطلع إلى إرسال بيانات من بيانات جدول محوري ، هل يمكنك المساعدة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل من الممكن كتابة البرنامج النصي بحيث أنه عند النقر فوق الزر ، سيتم إرفاق نفسه بالبريد الإلكتروني كما هو مذكور أعلاه مع إزالة الزر أيضًا؟ حتى لا تحتوي نسخة الملف التي يتم إرسالها عبر البريد الإلكتروني على الزر الموجود عليها؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أضف ما يلي أسفل ".Body = xMailBody"
المرفقات.إضافة ActiveWorkbook.FullName
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا داني.

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

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

باختصار أود أن أعرف:

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

أمر فرعي خاص
'تم التحديث بواسطة Extendoffice 2017 / 9 / 14
خافت xOutApp ككائن
تعتيم xOutMail ككائن
خافت xMailBody كسلسلة
على خطأ استئناف التالي
تعيين xOutApp = CreateObject ("Outlook.Application")
قم بتعيين xOutMail = xOutApp.CreateItem (0)
ActiveWorkbook. حفظ
xMailBody = "محتوى الجسم" & vbNewLine & vbNewLine & _
"هذا هو السطر 1" & vbNewLine & _
"هذا هو السطر 2"
على خطأ استئناف التالي
مع xOutMail
.To = "عنوان البريد الإلكتروني"
.CC = ""
.BCC = ""
.Subject = "اختبار إرسال البريد الإلكتروني بالنقر فوق الزر"
. الجسم = xMailBody
المرفقات.إضافة ActiveWorkbook.FullName
.Display أو استخدام .Send
انتهت ب
على خطأ GoTo 0
تعيين xOutMail = لا شيء
تعيين xOutApp = لا شيء
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكنني إرفاق Active Workbook بالبريد الإلكتروني عندما أضغط على الزر؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
أضف ما يلي أسفل ".Body = xMailBody"
المرفقات.إضافة ActiveWorkbook.FullName
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Teria como em vez de enviar a planilha، enviar as informações em imagem؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
باستخدام رمز VBA هذا ، هل يمكنني الإشارة إلى معلومات الخلية داخل نص البريد الإلكتروني؟ على سبيل المثال ، كيف يمكنني الإشارة إلى قيم الخلية إلى الرمز أدناه؟

xMailBody = "محتوى الجسم" & vbNewLine & vbNewLine & _
"هذا هو السطر 1" & vbNewLine & _
"هذا هو السطر 2"

أيضًا ، باستخدام رمز (.TO = "عنوان البريد الإلكتروني"). كيف يمكنني الحصول على "عنوان البريد الإلكتروني" سحب عنوان بريد إلكتروني من خلية في العمود المجاور له.


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

xMailBody = "محتوى الجسم" & vbNewLine & vbNewLine & _
"هذا هو السطر 1" & vbNewLine & _
"هذا هو السطر 2"

شكر،
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا جلين ،
الرجاء تطبيق الكود التالي. شكرا لك على تعليقك.
xMailBody = [B5]
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل من الممكن ، بدلاً من إرسال المرفق في البريد الإلكتروني ، إرسال ارتباط تشعبي إلى الملف (الموجود في SharePoint)؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا لوري،
لا يمكن أن تساعدك في ذلك. شكرا لك على تعليقك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكنني الإشارة إلى القيمة في خلية في الموضوع بسلسلة؟ بعض الاختلاف أدناه؟

.Subject = "حدث جديد:" & Target.Address = "$ B $ 38"
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا أبي ،
الرجاء تغيير الرمز إلى .Subject = "حدث جديد:" & [B38].
شكرا لتعليقك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا هناك،
هل يمكن لأي شخص مساعدتي في المتطلبات التالية؟
لديّ ورقة إكسل تحتوي على قائمتين منسدلتين.

1 قائمة منسدلة- قائمة الأقسام

2 قائمة منسدلة- فئة

ما أريده هو عندما أختار قسمًا وفئة من القوائم ؛ (على سبيل المثال ، إذا اخترت "مبيعات" في القسم و "تقرير شهري" في فئة)

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

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

أنا أقدر إذا كنت تستطيع مساعدتي في هذا

راسيك
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا Rasike ،
آسف لا أستطيع مساعدتك في ذلك. مرحبًا بك لنشر أي سؤال في منتدانا: https://www.extendoffice.com/forum.html للحصول على مزيد من دعم Excel من محترفي Excel أو غيرهم من محبي Excel.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

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

أمر فرعي خاص
'تم التحديث بواسطة Extendoffice 2019 / 6 / 26
خافت xOutApp ككائن
تعتيم xOutMail ككائن
على خطأ استئناف التالي
تعيين xOutApp = CreateObject ("Outlook.Application")
قم بتعيين xOutMail = xOutApp.CreateItem (0)
مع xOutMail
.Display أو استخدام .Send
.To = "عنوان البريد الإلكتروني"
.CC = ""
.BCC = ""
.Subject = "اختبار إرسال البريد الإلكتروني بالنقر فوق الزر"
.HTMLBody = "إرسال بريد إلكتروني تجريبي في Excel" & "
"& .HTMLBody
'.يرسل
انتهت ب
على خطأ GoTo 0
تعيين xOutMail = لا شيء
تعيين xOutApp = لا شيء
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يجب أن تكون مستخدمًا ممتازًا عند الضغط على الزر لإرسال بريد إلكتروني؟ أو أن يكون الشخص الذي يتلقى البريد الإلكتروني مجرد مستخدم Outlook؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
نظرًا لأن البريد الإلكتروني يجب أن يتم إرساله من خلال Outlook بعد النقر فوق الزر في Excel ، يجب أن يكون لديك Outlook مثبتًا على جهاز الكمبيوتر الخاص بك لجعله يعمل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أرغب في إرسال ورقة عمل Excel في البريد الإلكتروني ولكنها لا ترسلها. كيف تكتب رمزًا لإرسال المستند كبريد إلكتروني
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ماركوس ،
يمكن أن يساعدك رمز VBA أدناه في حل المشكلة.

Sub SendWorkSheet ()
تحديث 20190626
خافت x ملف كسلسلة
Dim xFormat As Long
Dim Wb كمصنف
خافت Wb2 كمصنف
خافت مسار ملف كسلسلة
خافت اسم الملف كسلسلة
تعتيم OutlookApp ككائن
تعتيم OutlookMail ككائن
على خطأ استئناف التالي
Application.ScreenUpdating = خطأ
تعيين Wb = Application.ActiveWorkbook
ActiveSheet.Copy
قم بتعيين Wb2 = Application.ActiveWorkbook
حدد حالة Wb.FileFormat
حالة xlOpenXML
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
حالة xlOpenXMLWorkbookMacroEnabled:
إذا كان Wb2.HasVBProject ثم
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
آخر
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
إنهاء حالة
حالة Excel8:
xFile = ".xls"
xFormat = Excel8
الحالة xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
إنهاء اختر
FilePath = Environ $ ("temp") & "\"
FileName = Wb.Name & Format (الآن ، "dd-mmm-yy h-mm-ss")
تعيين OutlookApp = CreateObject ("Outlook.Application")
تعيين OutlookMail = OutlookApp.CreateItem (0)
Wb2.SaveAs FilePath & FileName & xFile، FileFormat: = xFormat
مع OutlookMail
. إلى = "skyyang @extendoffice.com "
.CC = ""
.BCC = ""
.Subject = "ميزات kte"
.Body = "الرجاء مراجعة هذا المستند وقراءته."
المرفقات أضف Wb2.FullName
.عرض
'.يرسل
انتهت ب
Wb2. إغلاق
اقتل مسار الملف & اسم الملف & xFile
تعيين OutlookMail = لا شيء
تعيين OutlookApp = لا شيء
Application.ScreenUpdating = ترو
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكنني إرفاق ورقة العمل النشطة بالبريد الإلكتروني عندما أضغط على الزر؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا جرانت ،
يرجى النقر بزر الماوس الأيمن فوق الزر وتحديد عرض الرمز ، ثم نسخ الرمز أدناه بين سطور Private Sub وخطوط End Sub. آمل أن أتمكن من المساعدة. شكرا على تعليقك.

خافت x ملف كسلسلة
Dim xFormat As Long
Dim Wb كمصنف
خافت Wb2 كمصنف
خافت مسار ملف كسلسلة
خافت اسم الملف كسلسلة
تعتيم OutlookApp ككائن
تعتيم OutlookMail ككائن
على خطأ استئناف التالي
Application.ScreenUpdating = خطأ
تعيين Wb = Application.ActiveWorkbook
ActiveSheet.Copy
قم بتعيين Wb2 = Application.ActiveWorkbook
حدد حالة Wb.FileFormat
حالة xlOpenXML
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
حالة xlOpenXMLWorkbookMacroEnabled:
إذا كان Wb2.HasVBProject ثم
xFile = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
آخر
xFile = ".xlsx"
xFormat = xlOpenXMLWorkbook
إنهاء حالة
حالة Excel8:
xFile = ".xls"
xFormat = Excel8
الحالة xlExcel12:
xFile = ".xlsb"
xFormat = xlExcel12
إنهاء اختر
FilePath = Environ $ ("temp") & "\"
FileName = Wb.Name & Format (الآن ، "dd-mmm-yy h-mm-ss")
تعيين OutlookApp = CreateObject ("Outlook.Application")
تعيين OutlookMail = OutlookApp.CreateItem (0)
Wb2.SaveAs FilePath & FileName & xFile، FileFormat: = xFormat
مع OutlookMail
. إلى = "skyyang @extendoffice.com "
.CC = ""
.BCC = ""
.Subject = "ميزات kte"
.Body = "الرجاء مراجعة هذا المستند وقراءته."
المرفقات أضف Wb2.FullName
.عرض
'.يرسل
انتهت ب
Wb2. إغلاق
اقتل مسار الملف & اسم الملف & xFile
تعيين OutlookMail = لا شيء
تعيين OutlookApp = لا شيء
Application.ScreenUpdating = ترو
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

هل هناك طريقة لتغيير اسم الملف إلى التاريخ الحالي عند إرفاقه بالبريد الإلكتروني؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

لقد كنت أعمل على ورقة ، لكن لا يمكنني إنهاؤها. آمل أن تتمكن من مساعدتي :)

يجب أن يكون الملف هو xltm (قالب) ويجب أن يرفق الورقة بنفسه بالبريد.

وتوقيع تلقائي ، سأكون سعيدًا جدًا.

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

هل من الممكن إرسال ورقة عمل نشطة بالضغط على زر بدلاً من مصنف كامل؟

شكر!
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL