![]() |
Userform - Printing
Hi all I have a problem I am using the following code,
Private Sub cmdPrint_Click() frmOrders.PrintForm End Sub How is it possible to get the userform to be printed in landscape Thanks in advance Greg |
Greg,
You could throw up a print dialog and allow the user to select landscape (and even the printer if required), and then print after, something like Private Sub cmdPrint_Click() Dim fOK As Boolean Dim sPrinter As String With Application sPrinter = .ActivePrinter fOK= .Dialogs(xlDialogPrinterSetup).Show End With If fOK= Then frmOrders.PrintForm Application.ActivePrinter = sPrinter End If End Sub -- HTH RP (remove nothere from the email address if mailing direct) "Greg B" wrote in message ... Hi all I have a problem I am using the following code, Private Sub cmdPrint_Click() frmOrders.PrintForm End Sub How is it possible to get the userform to be printed in landscape Thanks in advance Greg |
Thanks for your help but it is not working right.
I have a userform called "totals" It shows all the information in a nice layout. The trouble is it continues to print in portrait even when the settings are set at landscape. Is it possible to print a userform in landscape? Is there a setting I am not using. Thanks again Greg |
See one more response to your other thread.
Greg B wrote: Hi all I have a problem I am using the following code, Private Sub cmdPrint_Click() frmOrders.PrintForm End Sub How is it possible to get the userform to be printed in landscape Thanks in advance Greg -- Dave Peterson |
I have used the other response from Bob Phillips and it still prints
portrait. I posted this twice because my isp must have been down. Sorry for the double post Greg |
Greg,
Here is a technique that does work (I tested it :-) which Tom Oguily posted some time back Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Const VK_SNAPSHOT = 44 Private Const VK_LMENU = 164 Private Const KEYEVENTF_KEYUP = 2 Private Const KEYEVENTF_EXTENDEDKEY = 1 Private Sub cmdPrint_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.PageSetup.Orientation = xlLandscape ActiveSheet.Range("A1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 ActiveWorkbook.Close Savechanges:=False End Sub -- HTH RP (remove nothere from the email address if mailing direct) "Greg B" wrote in message ... Thanks for your help but it is not working right. I have a userform called "totals" It shows all the information in a nice layout. The trouble is it continues to print in portrait even when the settings are set at landscape. Is it possible to print a userform in landscape? Is there a setting I am not using. Thanks again Greg |
Thanks again Bob
Greg |
But I wasn't writing about Bob's response.
(although his new response looks quite similar to the one I posted (Thanks to Tom!).) Greg B wrote: I have used the other response from Bob Phillips and it still prints portrait. I posted this twice because my isp must have been down. Sorry for the double post Greg -- Dave Peterson |
"Dave Peterson" wrote in message ... But I wasn't writing about Bob's response. (although his new response looks quite similar to the one I posted (Thanks to Tom!).) The same I would say (apart from where the API stuff is declared), and I did credit Tom, although I spelt his surname incorrectly (apologies Tom)/ |
All times are GMT +1. The time now is 02:01 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com