Hi guys, below i have code for printing a userform, it all works in as far as it prints landscape etc, the only problem being it does not print the whole screen, after playing about with it for hours, i have just noticed there is a zproperty for the userform called zoom, when i changed this to 80% and then printed the userform this works fine and the whole form prints.

My question is, within my code can any code be added that can change the zoom property value to 80, and then change it back too 100 once the form has printed, i dont want a user going into the code or property windows changing it manually.

Application.ScreenUpdating = False
   keybd_event VK_SNAPSHOT, 1, 0, 0
   Workbooks.Add 1
   ActiveSheet.Range("A1").Select
   Application.Wait Now + TimeValue("00:00:01")
   ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False
   With ActiveSheet
      .PageSetup.Orientation = xlLandscape
      .PageSetup.LeftHeader = "CmdAdd"
      .PageSetup.CenterHorizontally = True
      .PageSetup.CenterVertically = True
      .PrintOut From:=1, To:=1
      '.PrintOut
   End With
   ActiveWorkbook.Close False
   Unload Me
   Application.ScreenUpdating = True
any help greatly appreciated

scouse13