عالم الاوفيس | اكسل vba مهاره جديدة فى طباعة اليوزرفورم بطريقة افقية LANDSCAPE

بسم الله الرحمن الرحيم 

اكسل vba مهاره جديدة فى طباعة اليوزرفورم بطريقة افقية LANDSCAPE


اهلا بكم متابعى موقع عالم الاوفيس

درس جديد ومهارة جديدة من دروس اكسل vba

سالنا احد الاصدقاء سؤال وهو كيفية طباعة اليوزرفورم بطريقة عرضية LANDSCAPE وليست طولية portrait
وطبعا كما تعرفون حضراتكم لاتوجد طريقة لتعديل اعدادات الطباعة فى الفورم ولكن توجد فقط فى ورقة العمل او شيت الاكسل
ولكن هناك حيلة معينة سوف نتبعها فى هذا الدرس لنتغلب على هذة المشكلة

عندنا مجموعة من الاكواد التى تتعامل مع السييتم او النظام سوف نضيفها فى موديول عام

Option Explicit Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Public Const VK_SNAPSHOT = 44 Public Const VK_LMENU = 164 Public Const KEYEVENTF_KEYUP = 2 Public Const KEYEVENTF_EXTENDEDKEY = 1

ثم نضع هذا الكود فى زر الطباعة

DoEvents
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
keybd_event VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + _
KEYEVENTF_KEYUP, 0
DoEvents
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, _
DisplayAsIcon:=False
ActiveSheet.Range("A1").Select
'added to force landscape
ActiveSheet.PageSetup.Orientation = xlLandscape

ActiveWindow.SelectedSheets.PrintOut Copies:=1

ActiveWorkbook.Close False

وبهذا نكون قد تغلبنا على مشكلة طباعة الفورم بطريقة افقية 

لمتابعة الشرح



Emad ghazi
كاتب المقالة
كاتب ومحرر اخبار اعمل في موقع عالم الاوفيس .

جديد قسم : اكسل متقدم

  1. السلام عليكم
    ممكن شرح يوضح كيفية عمل فورم مستند اخراج مواد من المخزن بصورة نهائية ووضعها في شيت اكسيل مجدول

    ردحذف