![]() |
Printing Userforms
Hi all,
I asked earlier about Printing userforms The trouble is I need the form to print in landscape How do I do this? Thanks in advance Greg |
Printing Userforms
This was posted by Tom Ogilvy:
Modification of code originally posted by "Orlando Magalhães Filho" Modified to capture just the userform (not the whole window). In a general module: 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 Sub Test() UserForm1.Show End Sub In the userform module: Private Sub CommandButton1_Click() ' keybd_event VK_SNAPSHOT, 0, 0, 0 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 End Sub I added a line that changed the orientation to landscape. Greg B wrote: Hi all, I asked earlier about Printing userforms The trouble is I need the form to print in landscape How do I do this? Thanks in advance Greg -- Dave Peterson |
Printing Userforms
undefinedDave Peterson Wrote: This was posted by Tom Ogilvy: Modification of code originally posted by "Orlando Magalhães Filho" Modified to capture just the userform (not the whole window). In a general module: 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 Sub Test() UserForm1.Show End Sub In the userform module: Private Sub CommandButton1_Click() ' keybd_event VK_SNAPSHOT, 0, 0, 0 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 End Sub I added a line that changed the orientation to landscape. Greg B wrote: Hi all, I asked earlier about Printing userforms The trouble is I need the form to print in landscape How do I do this? Thanks in advance Greg -- Dave Peterson this was just what i was looking for ?? i thought i have a simular problem in which i have an excel form in which i need to print landscape. can the above solution be altered to use with excel -- alexanderd ------------------------------------------------------------------------ alexanderd's Profile: http://www.excelforum.com/member.php...fo&userid=4984 View this thread: http://www.excelforum.com/showthread...hreadid=353789 |
Printing Userforms
It does use excel.
alexanderd wrote: undefinedDave Peterson Wrote: This was posted by Tom Ogilvy: Modification of code originally posted by "Orlando Magalhães Filho" Modified to capture just the userform (not the whole window). In a general module: 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 Sub Test() UserForm1.Show End Sub In the userform module: Private Sub CommandButton1_Click() ' keybd_event VK_SNAPSHOT, 0, 0, 0 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 End Sub I added a line that changed the orientation to landscape. Greg B wrote: Hi all, I asked earlier about Printing userforms The trouble is I need the form to print in landscape How do I do this? Thanks in advance Greg -- Dave Peterson this was just what i was looking for ?? i thought i have a simular problem in which i have an excel form in which i need to print landscape. can the above solution be altered to use with excel -- alexanderd ------------------------------------------------------------------------ alexanderd's Profile: http://www.excelforum.com/member.php...fo&userid=4984 View this thread: http://www.excelforum.com/showthread...hreadid=353789 -- Dave Peterson |
All times are GMT +1. The time now is 02:54 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com