تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الطباعة بـ x and y
#1
بسم الله الرحمن الرحيم

لا أعلم هل هذا القسم صحيح او وضعت المشاركة في القسم الخطأ ،، اسمح للمشرفين بتغييره للقسم الصحيح ،، وشكرا

موضوعي اليوم عن الطباعة وهذه الطريقة تنفع في حال مثلاً نريد طباعة نصوص على استمارة جاهزة أو ممكن تصميم شكل الطباعة بالكامل بالكود من مربعات وخطوط وجداول والنصوص بداخلها .

الموضوع سهل للغاية :

اولاً اعداد ورقة الطباعة :

للبدء من يمين الورقة (True) واليسار (False) هذا يفيد في اخذ المقاسات في الاستمارة للبداية من يمين الاستمارة او من يسار الاستمارة .
Printer.RightToLeft = False

لتحديد مقاس الورقة A4
Printer.PaperSize = vbPRPSA4

لتحديد مقاس الورقة A3
Printer.PaperSize = vbPRPSA3

لتحديد الطباعة بطول الصفحة
Printer.Orientation = vbPRORPortrait

لتحديد الطباعة بعرض الصفحة
Printer.Orientation = vbPRORLandscape

لتحديد عدد النسخ ،، علما اذا لم تحدد سوف يطبع ورقة واحدة فقط واذا اردت طباعة اكثر من ورقة اكتب عدد النسخ المراد طباعتها .
Printer.Copies = 2

لتحديد مسافات النصوص المراد طباعتها بالمليميتر 
Printer.ScaleMode = vbMillimeters

والسنتيمتر (Printer.ScaleMode = vbCentimeters)

وهنا المليميتر والسنتيميتر واحد مثلاً (132 مليميتر) = (13.2 سنتيميتر) ،، فخلينا هنا نستخدم الشرح على المليميتر

لتحديد حجم الخط
Printer.FontSize = 16

لتحديد اسم الخط
Printer.FontName = "Arabic Transparent"

لتحديد لون الطباعة
Printer.ForeColor = vbBlack

حتى هنا الكود واضح وهو اعداد صفحة الطباعة ،، نأتي الان لطباعة النصوص في اماكن نحن نحددها مثلاً :

مثلاً حددنا بالأعلا بحساب المسافة على الورقة يبدأ من اليسار باختيار (Printer.RightToLeft = False)

لاحظ X تعني من يسار الصفحة يبدا من (133 مليميتر)
Printer.CurrentX = 133

لاحظ Y تعني من أعلى الصفحة يبدا من (7 مليميتر)
Printer.CurrentY = 7

لطباعة نص محدد وثابت نضعه بين كوتيشن

كود :
Printer.Print "عبد العزيز البسكري"    

طيب لو اردنا طباعة نص موجود في تكست بوكس يكون الكود كالتالي :
Printer.Print text1 

طيب لو اردنا طباعة حقل من الجدول يكون الكود كالتالي :
Printer.Print rs!firstname


طيب لو اردنا طباعة صورة معروضة في اداة عرض الصور يكون الكود كالتالي :
Printer.PaintPicture Image1, 50, 70, 100, 150
لاحظ 50 تعني بداية طباعة الصورة من اليسار بالمليميتر
لاحظ 70 تعني بداية طباعة الصورة من الأعلى بالمليميتر
لاحظ 100 تعني عرض الصورة بالمليميتر
لاحظ 150 تعني طول الصورة بالمليميتر

ويمكنك ايضاً طباعة اكثر من نص كالتالي :
Printer.CurrentX = 133
Printer.CurrentY = 7
Printer.Print text2 
لاحظ تكست2

ايضاً يمكنك هنا تغيير اسم الخط او لونه او حجمه اذا اردت
Printer.CurrentX = 113
Printer.CurrentY = 20
Printer.Print text3 

وهنا ايضاً يمكنك ارجاع اسم الخط او لونه او حجمه كما تحب كل ما عليك فعله هو رسم ما تريد قبل تنفيذ امر الطباعة وسوف يظهر على الورقة كما رسمت.

وهكذا .....

وللطباعة في صفحة اخرى عند نهاية الصفحة السابقة كل ما علينا فعله نضع هذا السطر
Printer.NewPage


ولرسم خط سواء عرض الصفحة او بطول الصفحة
Printer.DrawWidth = 25  'تحديد عرض الخط لرسم الخطوط
'   11 البداية من الاسفل
'   8 البداية من الأعلى
'   15.3  النهاية من أسفل
'   8 النهاية من الأعلى
Printer.Line (11, 8)-(15.3, 8), vbRed
سوف يرسم خط بلون احمر

وبعد اعداد ورقة الطباعة ورسم النصوص والصور المراد طباعتها وتحديد قياسها فقط اكتب السطر التالي لتنفيذ امر الطباعة :

Printer.EndDoc



الآن اكتب لك الكود كامل بدون شرح :



كود :
Printer.RightToLeft = False
Printer.PaperSize = vbPRPSA4
Printer.Orientation = vbPRORPortrait
Printer.ScaleMode = vbMillimeters
Printer.FontSize = 16
Printer.FontName = "Arabic Transparent"
Printer.ForeColor = vbBlack

Printer.CurrentX = 133
Printer.CurrentY = 7
Printer.Print text1 

Printer.EndDoc
علماً اني عملت كود يقوم بطباعة سجلات الجدول كامله مرتبه على شكل جدول مع صورة لكل سجل داخل جدول انا قمت برسمه بهذه الطريقة .

اي استفسار على الرحب والسعة ،،، في امان الله
الرد }}}
#2
السلام عليكم و رحمة الله و بركاته
شكرا جزيلا لك اخي الحبيب
و بارك الله فيك .
تم تثبيت الموضوع و نقله الى قسم الامثلة و المشاريع
الرد }}}
#3
السّلام عليكم و رحمة الله و بركاته
الله يرضى عليك و على كل من تحب أخي و أستاذي الكريم
بارك الله فيك دنيا و آخرة إن شاء الله
إحتراماتي 
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor
#4
العفو اخي امير ،،
بالتوفيق اخي عبدالعزيز ،،
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مثال الطباعة على الوجهين الورقة في الطابعة Ahmed_Mansoor 1 2,004 30-01-16, 01:10 PM
آخر رد: VB_Local

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم