UserForm: how to print it landscape
Following code was posted previously by Orlando Magalhaes Filho:
In a general module put in these declarations/code:
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 = &H2C
Sub Test()
UserForm1.Show
End Sub
In the code module of the Userform:
Private Sub CommandButton1_Click()
keybd_event VK_SNAPSHOT, 0, 0, 0
Workbooks.Add
Application.Wait Now + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False,
DisplayAsIcon:=False
ActiveSheet.Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWorkbook.Close False
End Sub
This takes a "picture" of the userform and pastes it on a sheet. It then
prints the picture on the sheet. You should be able to modify it to get
the print settings you want.
Regards,
Tom Ogilvy
"Gabor" wrote in message
...
Rudi,
That does not work with a UserForm though.
Somehow the default printing out format of a userform is 'portrait'. I
cannot change it to 'landscape,
Maybe there is an option with newer version than mine (Excel'97).
Gabor
"Rudolf Sommer" schrieb im
Newsbeitrag
...
I think you have to choose the orientation in the printer dialog, using
the
printer's properties.
HTH
Ruedi
"Gabor" schrieb im Newsbeitrag
...
Hi,
If I print the userform out, it comes as 'portrait'
Can anyone tell me how to print 'landscape' and centralised on the
page?
Thanks folks
Gabor
|