By جوينتايلور يوم الاثنين 29 مارس 2021
نشر في Excel
الردود 0
الإعجابات 0
المشاهدات 2.8K
الأصوات 0
مرحبًا ، أنا أستخدم الكود الخاص بك لإرسال نطاق Excel كمرفق بالبريد الإلكتروني ولكن أحصل على خطأ في وقت التشغيل إذا قمت بإلغاء النطاق. هل هناك رمز يمكنني إضافته أو msgbox من فضلك لمنع حدوث ذلك؟ شكرا رمز أدناه.

نطاق الإرسال الفرعي ()
خافت x ملف كسلسلة
خافت xFormat طالما
Dim Wb كمصنف
خافت Wb2 كمصنف
خافت Ws كورقة عمل
خافت مسار ملف كسلسلة
خافت اسم الملف كسلسلة
تعتيم OutlookApp ككائن
تعتيم OutlookMail ككائن
خافت WorkRng كنطاق
xTitleId = "مثال"
Set WorkRng = Application.Selection
تعيين WorkRng = Application.InputBox ("النطاق" ، xTitleId ، WorkRng.Address ، النوع: = 8)

Application.ScreenUpdating = خطأ
Application.DisplayAlerts = خطأ
تعيين Wb = Application.ActiveWorkbook
أوراق العمل
قم بتعيين Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells (1، 1)
Ws. نسخة
قم بتعيين Wb2 = Application.ActiveWorkbook
حدد حالة Wb.FileFormat
حالة xlOpenXML
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
حالة xlOpenXMLWorkbookMacroEnabled:
    إذا كان Wb2.HasVBProject ثم
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    آخر
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    إنهاء حالة
حالة Excel8:
    xFile = ".xls"
    تنسيق x = 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
    . إلى = "gtest@email.com"
    .CC = ""
    .BCC = ""
    .Subject = "الاختبارات"
    . Body = "مرحبًا."
    المرفقات أضف Wb2.FullName
    .إرسال
انتهت ب
Wb2. إغلاق
اقتل مسار الملف & اسم الملف & xFile
تعيين OutlookMail = لا شيء
تعيين OutlookApp = لا شيء
حذف
Application.DisplayAlerts = صحيح
Application.ScreenUpdating = ترو
نهاية الفرعية
 
عرض مشاركة كاملة