Advertisement
YasserKhalil2019

Export All Groups To One PDF

May 21st, 2023
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. Sub Export_All_Groups_To_One_PDF()
  2. Rem الإعلان عن المتغيرات
  3. Rem المتغير الأول نستخدمه للإشارة إلى المصنف الجديد الذي سينشأ
  4. Rem المتغير الثاني نستخدمه للإشارة إلى ورقة عمل للأوراق الموجودة بالمصنف
  5. Dim wb As Workbook, ws As Worksheet
  6.  
  7. Rem توقف خاصية اهتزاز الشاشة لتسريع الكود
  8. Application.ScreenUpdating = False
  9.  
  10. Rem تعيين قيمة للمتغير وإنشاء مصنف جديد فيه ورقة عمل واحدة فقط
  11. Set wb = Workbooks.Add(xlWBATWorksheet)
  12.  
  13. Rem حلقة تكرارية لأوراق العمل داخل المصنف الحالي
  14. For Each ws In ThisWorkbook.Worksheets
  15.  
  16. Rem هنا نضع جملة شرطية لاسم ورقة العمل ونحدد فقط من اليسار حرف واحد
  17. Rem ونختبر الشرط أن الحرف الأول من اسم ورقة العمل يساوي الحرف أم لا
  18. If Left(ws.Name, 1) = "G" Then
  19.  
  20. Rem في حالة تحقق الشرط يتم نسخ ورقة العمل إلى المصنف الجديد
  21. Rem وتوضع ورقة العمل المنسوخة في نهاية أوراق العمل في المصنف الجديد
  22. ws.Copy After:=wb.Worksheets(wb.Worksheets.Count)
  23.  
  24. Rem نهاية الجملة الشرطية
  25. End If
  26.  
  27. Rem الانتقال لورقة العمل التالية في المصنف الحالي لتتكرر نفس الخطوات السابقة
  28. Next ws
  29.  
  30. Rem بعد الانتهاء من الحلقة التكرارية لكل أوراق العمل سنقوم بحذف أول
  31. Rem ورقة عمل في المصنف الجديد حيث أنها ورقة فارغة لا نريدها
  32. Rem لذا نوقف خاصية رسائل التحذير حتى لا تظهر لنا رسالة أثناء حذف الورقة
  33. Application.DisplayAlerts = False
  34.  
  35. Rem حذف ورقة العمل الأولى في المصنف الجديد
  36. wb.Worksheets(1).Delete
  37.  
  38. Rem إرجاع خاصية رسائل التحذير مرة أخرى
  39. Application.DisplayAlerts = True
  40.  
  41. Rem أخيراُ سيكون لدينا مصنف جديد به أوراق العمل المطلوب تصديرها
  42. Rem فنقوم بتصديرها إلى ملف بي دي ونحدد مسار الملف على سطح المكتب ونحدد اسم الملف
  43. wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("USERPROFILE") & "\Desktop\" & "Output.pdf"
  44.  
  45. Rem أخيراً نقوم بإغلاق المصنف المؤقت بدون حفظ التغييرات
  46. wb.Close SaveChanges:=False
  47.  
  48. Rem إرجاع خاصية اهتزاز الشاشة بعد انتهاء الكود
  49. Application.ScreenUpdating = True
  50. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement