View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default 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