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

كيفية إرسال / إرسال مجموعة من الخلايا عبر البريد الإلكتروني من خلال Outlook من Excel؟

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

إرسال نطاق من الخلايا كمرفق من Excel برمز VBA

أرسل نطاقًا من الخلايا كجسم من Excel برمز VBA


السهم الأزرق الحق فقاعةإرسال نطاق من الخلايا كمرفق من Excel برمز VBA

يمكن أن يساعدك رمز VBA التالي في إرسال النطاق المحدد كمرفق في Excel. يرجى القيام بذلك على النحو التالي:

1. افتح المصنف الخاص بك ثم اضغط باستمرار على ملف ALT + F11 مفاتيح لفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف نافذة الوحدة.

كود فبا: أرسل مجموعة من الخلايا كمرفق من إكسيل

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

ملاحظة: في الكود أعلاه ، يمكنك تغيير المعلومات التالية حسب حاجتك.

  • . إلى = "skyyang @extendoffice.com "
  • .CC = ""
  • .BCC = ""
  • .Subject = "معلومات عن kte"
  • .Body = "مرحبًا ، يرجى مراجعة هذا المستند وقراءته."

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

doc-send-range1

4. ثم اضغط OK، وسيظهر مربع موجه ، بعد انتهاء شريط التقدم ، انقر فوق السماح، ومن ثم تم إرسال النطاق المحدد من الخلايا إلى المستلم كمرفق.

doc-send-range2


السهم الأزرق الحق فقاعةأرسل نطاقًا من الخلايا كجسم من Excel برمز VBA

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

كوتولس ل إكسيل, مع أكثر من 120 وظائف يدوية ، تجعل مهامك أسهل. 

1. قم بتنشيط ورقة العمل الخاصة بك واضغط باستمرار على ملف ALT + F11 مفاتيح لفتح نافذة ميكروسوفت فيسوال باسيك للتطبيقات.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف نافذة الوحدة.

كود فبا: أرسل مجموعة من الخلايا كجسم من إكسيل

Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

ملاحظة: في الكود أعلاه ، يمكنك تغيير المعلومات التالية حسب حاجتك.

  • .Introduction = "الرجاء قراءة هذا البريد الإلكتروني."
  • .Item.To = "skyyang @extendoffice.com "
  • .Item.Subject = "معلومات عن kte"

3. ثم اضغط F5 مفتاح لتشغيل هذا الرمز ، وسيظهر مربع موجه لتذكيرك بتحديد النطاق الذي تريد إرساله.

doc-send-range1

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

doc-send-range2

الملاحظات:

1. هذه الرموز متاحة فقط عندما يكون Outlook برنامج البريد الخاص بك.

2. بعد إرسال ورقة العمل الحالية ، يمكنك الانتقال إلى Outlook الخاص بك للتأكد من إرسال البريد الإلكتروني بنجاح.


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

كيفية إرسال ورقة العمل فقط من خلال Outlook من Excel؟

كيفية إرسال المصنف الحالي من خلال Outlook من Excel؟


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

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٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (26)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أنا أستخدم العلامة التجارية التي تحدد الخلايا المطلوبة لإرسالها بالبريد الإلكتروني. لقد جمعت هذا مع ماكرو آخر حتى أحصل عليه لفتح "بريد إلكتروني جديد" ، مشكلتي الآن هي أنه إذا وضعت الكثير من المعلومات في خلية واحدة ، فلن يستغرق الأمر سوى iformaiton الذي لا تعرض جميع المعلومات الموجودة في تلك الخلية أي أفكار ؟؟ شكرًا جزيلاً لك على مساعدتك في هذه الهتافات
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تحية للجميع
لدي مشروع لتحديد النطاق في الورقة 1 ليتم إرسالها بالبريد الإلكتروني واحدًا تلو الآخر إلى العديد من عناوين البريد الإلكتروني المكتوبة في الورقة 2 في العمود A وإذا كان العمود B فارغًا مع موضوع معين وبعد إرساله يكتب في الورقة 2 العمود ب المرسلة
والانتظار لمدة 10 ثوانٍ لإرسال البريد الإلكتروني التالي حسب حالة الخادم
هل من احد يساعدني من فضلك؟   
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل يمكنك السماح لي بمعرفة كيفية إضافة التوقيع وسطر المقدمة الثاني إلى هذا البريد للبرنامج الثاني. شكرا لك مقدما.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
جميل ومفيد ، عمل جيد !!!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مفيد جدا. شكرًا لك . لدي قائمة عناوين البريد الإلكتروني على نفس الورقة. عند النقر فوق عنوان بريد إلكتروني واحد ، سيتم إرسال نطاق الخلايا المحدد كمرفق بهذا البريد الإلكتروني. هل من الممكن أن تساعدني في هذا؟ شكرا جزيلا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ، شرح جيد جدا. بدلاً من إرسال مصنف جديد ، يمكننا فقط نسخ النطاق المحدد ولصقه في نص البريد الإلكتروني وإرساله. لا أريد إرسال النطاق المحدد كصورة. أريد أن أرسل مثل عرض الجدول في نص البريد الإلكتروني. هل يمكننا فعل ذلك ؟؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا ، هذا مفيد جدًا ولكن ماذا لو احتجت إلى إضافة بعض الوصف في نص البريد قبل إرساله. الرجاء اقتراح الرمز.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
كل شيء يبدو جيدًا ولكن لا يعطي النطاق المحدد للحدود ، هل يمكنك اقتراح ذلك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا جزيلاً ، أجد هذا الحل طويلاً.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عمل رائع. سيكون من الأفضل أن ترى هذا يرسل تلقائيًا. ماذا علي أن أفعل حتى لا يطالبني بخطأ قبل استئناف الإرسال؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكننا وضع أكبر عدد ممكن من عناوين البريد الإلكتروني للإرسال إليها؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، كاري ، كل ما سبق يمكن لـ VBAs إضافة العديد من عناوين البريد الإلكتروني (إلى ، BCC ، CC) للإرسال إليها باستخدام ؛ كفاصل. على سبيل المثال ، .To = "skyyang @extendoffice.com؛ test1 @extendoffice.com؛ test2 @extendoffice.com "
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ich möchte das kopierte nicht als Datei in e-Mail einfügen، sondern لكل نسخة ولصق في e-mail einfügen. Wie geht das in dem VBA-Code؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لدي جدول تم إعداده وأريد أن يملأه الموظفون ثم زر أمر يقوم بعد ذلك بإنشاء بريد إلكتروني تلقائيًا ، ومع ذلك أريد أن تكون البيانات من الجدول في نص البريد الإلكتروني. هل يوجد رمز لذلك؟ 
شكراً لك 
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تحية للجميع
لدي مشروع لتحديد النطاق في الورقة 1 ليتم إرسالها بالبريد الإلكتروني واحدًا تلو الآخر إلى العديد من عناوين البريد الإلكتروني المكتوبة في الورقة 2 في العمود A وإذا كان العمود B فارغًا مع موضوع معين وبعد إرساله يكتب في الورقة 2 العمود ب المرسلة
والانتظار لمدة 10 ثوانٍ لإرسال البريد الإلكتروني التالي حسب حالة الخادم
هل من احد يساعدني من فضلك؟   
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تحية للجميع
لدي مشروع لتحديد النطاق في الورقة 1 ليتم إرسالها بالبريد الإلكتروني واحدًا تلو الآخر إلى العديد من عناوين البريد الإلكتروني المكتوبة في الورقة 2 في العمود A وإذا كان العمود B فارغًا مع موضوع معين وبعد إرساله يكتب في الورقة 2 العمود ب المرسلة
والانتظار لمدة 10 ثوانٍ لإرسال البريد الإلكتروني التالي حسب حالة الخادم
هل من احد يساعدني من فضلك؟   
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، hriad ، "إذا كان العمود B فارغًا بموضوع معين وبعد إرساله يكتب في الورقة 2 ، تم إرسال العمود b
وللانتظار لمدة 10 ثوانٍ لإرسال البريد الإلكتروني التالي كحالة الخادم "لا أفهم هذا. الرجاء إعادة إخباري بشأن متطلباتك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا صني
بادئ ذي بدء ، شكرًا على مساعدتك ، حيث وضع الخادم شرطًا لعدم إرسال العديد من رسائل البريد الإلكتروني في نفس الثانية ، أريد الانتظار لمدة 10 ثوانٍ بعد إرسال البريد الإلكتروني الأول والرسالة التالية.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، يُرجى محاولة الكود أدناه ، بعد تشغيله ، سيظهر مربع حوار لتحديد النطاق الذي تريد إرساله ، ثم يتم إرساله إلى العناوين في الورقة 2 العمود A ومع الموضوعات الموجودة في العمود B. كل 10 ثوانٍ ، أرسل إلى عنوان واحد. يمكنك تغيير الرمز "الرجاء قراءة هذا البريد الإلكتروني" حسب حاجتك.
إرسال فرعي

'تحديث بواسطةExtendoffice20220414

خافت WorkRng كنطاق

خافت xSU ، EV مثل قيمة منطقية

خافت xWSh كورقة عمل

خافت xCount كعدد صحيح

خافت xI كعدد صحيح

على خطأ استئناف التالي

xTitleId = "KutoolsforExcel"

حدد النطاق الذي تم استخدامه للإرسال كنص

تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، Application.Selection.Address ، ، ، ، ، ، 8)

إذا كان WorkRng لا شيء ، فاخرج من Sub
WorkRng.Activate
WorkRng.Select

عيّن xWSh = ActiveWorkbook.Worksheets ("Sheet2") "الورقة التي تحتوي على العناوين والموضوعات

xCount = xWSh.UsedRange.Rows.Count

xSU = Application.ScreenUpdating

EV = ActiveWorkbook.EnvelopeVisible

Application.ScreenUpdating = خطأ


بالنسبة إلى xI = 1 To xCount

إذا كان (xWSh.Range ("A" & xI) = "") إذن
خروج عن
إنهاء حالة
ActiveWorkbook.EnvelopeVisible = صحيح
باستخدام ActiveSheet.MailEnvelope
.Introduction = "الرجاء قراءة هذا البريد الإلكتروني."

.Item.To = xWSh.Range ("A" & xI)

.Item.Subject = xWSh.Range ("B" & xI)

البند. الإرسال
انتهت ب
إذا (xI = xCount) ثم

خروج عن

إنهاء حالة

Application.Wait Now + TimeValue ("0:00:10")

التالى


Application.ScreenUpdating = xSU

ActiveWorkbook.EnvelopeVisible = EV

نهاية الفرعية

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

Mam plik z 6 arkuszami. Każdy z arkuszy 2-6 musi zostać wysłany do innej grupy odbiorców jako załącznik excela. Czy da się إلى podpiąć pod 5 przycisków؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا يا باورل
لحل مشكلتك ، قد تساعدك المقالة أدناه ، يرجى التحقق منها:

https://www.extendoffice.com/documents/excel/7178-send-each-sheet-to-different-email.html

شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لك على هذا! سأختبرها قريبًا بمجرد عودتي من العطلة. لدي سؤال واحد. لديك مشكلة في تشغيل أكواد vba باستخدام زر Activex (لا يوجد إجراء على الإطلاق) حتى إذا كان الرمز يعمل بشكل مثالي في وضع التحرير أو عند التشغيل باستخدام ctrl + الزر المحدد من لوحة المفاتيح. لقد بدأت للتو رحلة vba وليس لدي
فكرة عما أفعله خطأ: /
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا يا باورل
تحتاج فقط إلى نسخ الرمز ولصقه في ملف ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، ثم انقر فوق يجري زر من شريط الأدوات كما هو موضح أدناه لقطة الشاشة: (ملاحظة: في الكود ، S1 هي الخلية التي تحتوي على عنوان البريد الإلكتروني الذي تريد إرسال البريد الإلكتروني إليه. يرجى تغييرها حسب حاجتك.)

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-emails.png

حاول مرة اخرى!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

لقد فعلت كل شيء على النحو الوارد أعلاه والنتيجة هي: كل شيء يعمل بشكل مثالي بصرف النظر عن الزر :) لا تهتم بهذا الأمر في الوقت الحالي :)

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

تواصل معنا

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