Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub Export_All_Groups_To_One_PDF()
- Rem الإعلان عن المتغيرات
- Rem المتغير الأول نستخدمه للإشارة إلى المصنف الجديد الذي سينشأ
- Rem المتغير الثاني نستخدمه للإشارة إلى ورقة عمل للأوراق الموجودة بالمصنف
- Dim wb As Workbook, ws As Worksheet
- Rem توقف خاصية اهتزاز الشاشة لتسريع الكود
- Application.ScreenUpdating = False
- Rem تعيين قيمة للمتغير وإنشاء مصنف جديد فيه ورقة عمل واحدة فقط
- Set wb = Workbooks.Add(xlWBATWorksheet)
- Rem حلقة تكرارية لأوراق العمل داخل المصنف الحالي
- For Each ws In ThisWorkbook.Worksheets
- Rem هنا نضع جملة شرطية لاسم ورقة العمل ونحدد فقط من اليسار حرف واحد
- Rem ونختبر الشرط أن الحرف الأول من اسم ورقة العمل يساوي الحرف أم لا
- If Left(ws.Name, 1) = "G" Then
- Rem في حالة تحقق الشرط يتم نسخ ورقة العمل إلى المصنف الجديد
- Rem وتوضع ورقة العمل المنسوخة في نهاية أوراق العمل في المصنف الجديد
- ws.Copy After:=wb.Worksheets(wb.Worksheets.Count)
- Rem نهاية الجملة الشرطية
- End If
- Rem الانتقال لورقة العمل التالية في المصنف الحالي لتتكرر نفس الخطوات السابقة
- Next ws
- Rem بعد الانتهاء من الحلقة التكرارية لكل أوراق العمل سنقوم بحذف أول
- Rem ورقة عمل في المصنف الجديد حيث أنها ورقة فارغة لا نريدها
- Rem لذا نوقف خاصية رسائل التحذير حتى لا تظهر لنا رسالة أثناء حذف الورقة
- Application.DisplayAlerts = False
- Rem حذف ورقة العمل الأولى في المصنف الجديد
- wb.Worksheets(1).Delete
- Rem إرجاع خاصية رسائل التحذير مرة أخرى
- Application.DisplayAlerts = True
- Rem أخيراُ سيكون لدينا مصنف جديد به أوراق العمل المطلوب تصديرها
- Rem فنقوم بتصديرها إلى ملف بي دي ونحدد مسار الملف على سطح المكتب ونحدد اسم الملف
- wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("USERPROFILE") & "\Desktop\" & "Output.pdf"
- Rem أخيراً نقوم بإغلاق المصنف المؤقت بدون حفظ التغييرات
- wb.Close SaveChanges:=False
- Rem إرجاع خاصية اهتزاز الشاشة بعد انتهاء الكود
- Application.ScreenUpdating = True
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement