دليل شامل : جميع أكواد الطباعة في VBA لبرنامج Excel
مقدمة
عن أكواد الطباعة في VBA
تُستخدم أكواد VBA )Visual Basic for Applications)
في Excel لإنشاء تطبيقات مخصصة تتيح لك أتمتة المهام المتكررة، بما في ذلك عملية
الطباعة. من خلال كتابة أكواد VBA،
يمكنك التحكم الدقيق في إعدادات الطباعة، مثل حجم الورقة، والهامش، وتوجيه الصفحة،
وغيرها الكثير.
الأكواد
الأساسية للطباعة في VBA
ActiveSheet.PrintPreview: يعرض معاينة
للطباعة قبل الطباعة الفعلية.
ActiveSheet.PrintOut: يبدأ عملية
الطباعة الفعلية.
Pages: تحديد عدد
الصفحات المراد طباعتها.
Copies: تحديد عدد
النسخ المراد طباعتها.
PrintArea: تحديد النطاق
المحدد الذي سيتم طباعته.
PrintTitleRows: تحديد الصفوف
التي ستظهر كعنوان في كل صفحة.
PrintTitleColumns: تحديد الأعمدة
التي ستظهر كعنوان في كل صفحة.
أمثلة
على أكواد الطباعة
مثال
1: طباعة الورقة النشطة بالكامل
Sub Test1
ActiveSheet.PrintOut
End Sub
مثال
2: طباعة نطاق محدد من الخلايا
Sub Print_tesr2
Range("A1:D10").PrintOut
End Sub
مثال
3: طباعة ورقة معينة بعدد نسخ محدد
Sub Print_test3
Sheets("ورقة1").PrintOut Copies:=3
End Sub
مثال
4: طباعة مع عنوان في كل صفحة
Sub print_title()
With ActiveSheet.PageSetup
.PrintTitleRows
= "$1:$2"
End With
.PrintOut
End Sub
تخصيص
إعدادات الطباعة
يمكنك تخصيص إعدادات الطباعة بشكل أكبر باستخدام
خصائص أخرى مثل:
Orientation:
لتغيير اتجاه الصفحة (أفقي أو عمودي).
PaperSize:
لتغيير حجم الورقة.
Margins:
لتغيير هوامش الصفحة.
CenterHeader و CenterFooter:
لإضافة نص في رأس أو تذييل الصفحة.
مثال
على تخصيص إعدادات الطباعة:
Sub printtest
With
ActiveSheet.PageSetup
.Orientation
= xlLandscape ' اتجاه أفقي
.PaperSize = xlPaperA4
.Margins.Top
= 1
.Margins.Bottom
= 1
.CenterHeader = "تقرير مبيعات"
End With
.PrintOut
End Sub
استخدام
المتغيرات في أكواد الطباعة
يمكنك استخدام المتغيرات لتجعل أكوادك أكثر مرونة
وقابلة للتعديل. على سبيل المثال:
Sub printrange))
Dim Rng As Range
Set Rng= Range("A1:B" & Cells(Rows.Count,
"B").End(xlUp).Row)
Rng..PrintOut
End Sub
```
.
أكواد
إضافية للطباعة في Excel باستخدام VBA
بالتأكيد، هناك العديد من الأكواد
الإضافية التي يمكنك استخدامها في VBA لExcel لتخصيص عملية الطباعة بشكل أكبر وتناسب احتياجاتك المتنوعة. إليك
بعض الأمثلة:
التحكم في رؤوس وتذييلات الصفحات
·
تعيين رؤوس وتذييلات مخصصة:
With ActiveSheet.PageSetup
.CenterHeader = "تقرير مبيعات " & Date
.CenterFooter = "الصفحة &P من &N"
End With
·
إضافة صور أو تواريخ:
With ActiveSheet.PageSetup
.CenterHeader.Picture.Filename = "C:\صور\شعار.jpg"
End With
التحكم في تنسيق الخلايا قبل
الطباعة
·
تغيير حجم الخط واللون:
Range("A1:D10").Font.Size = 12
Range("A1:D10").Font.ColorIndex = 3
·
تطبيق تنسيقات شرطية:
With Range("A1:D10").FormatConditions.Add(xlCellValue,
xlGreater, 100)
.Font.ColorIndex = 3
.Interior.ColorIndex = 6
End With
طباعة نطاقات متعددة أو أوراق عمل
متعددة
·
طباعة نطاقات متعددة في أوراق
مختلفة:
Dim rng As Range
For Each rng In Range("A1:A5,C1:C5")
rng.PrintOut
Next rng
·
طباعة أوراق عمل محددة:
Sheets(Array("ورقة1", "ورقة3")).PrintOut
طباعة إلى ملف PDF
·
حفظ كـ PDF:
ActiveWorkbook.ExportAsFixedFormat
Type:=xlTypePDF, Filename:="C:\Reports\تقرير.pdf"
أمثلة أخرى:
·
طباعة معاينة قبل الطباعة:
ActiveSheet.PrintPreview
·
تغيير اتجاه الصفحة:
With ActiveSheet.PageSetup
.Orientation =
xlLandscape ' أفقي
End With
·
تغيير حجم الورقة:
With ActiveSheet.PageSetup
.PaperSize = xlPaperA4
End With
ملاحظات هامة:
·
التجربة والخطأ: لا تتردد في تجربة أكواد مختلفة
والتحقق من النتائج.
·
التوثيق: قم بتوثيق أكوادك لتسهيل فهمها
وتعديلها في المستقبل.
·
المرونة: استخدم المتغيرات لتجعل أكوادك
أكثر مرونة وقابلة للتطبيق في سيناريوهات مختلفة.