Read this old posting M
**********************
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.