Printing Macro

  • Thread starter Thread starter dhstein
  • Start date Start date
D

dhstein

I want to print a report from a macro. I recorded a macro and got this:
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 50
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
'ActiveWindow.SelectedSheets.PrintPreview
ExecuteExcel4Macro "PRINT(1,,,1,,FALSE,,,,,,1,,,TRUE,,FALSE)"


This runs slowly - lots of screen flashing going on. I just want to print
the selection and fit to page, so I'm not sure where all the other stuff is
coming from. If I just manually select the area and print - it runs very
fast - none of the screen flashing - so I'm not sure what's going on. I
would appreciate any enlightenment on this subject. Thanks.
 
Remove all the lines and try with the last line..

Sub MyPrint()
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,1,,,TRUE,,FALSE)"
End Sub

If this post helps click Yes
 
Jacob,

I kept a few lines like fit to pages wide and orientation = landscape. It
seems to be faster now. Thanks.
 
Also you can use to disable any flashing///

Application.DisplayAlerts = False
'your code
application.DisplayAlerts = True
 
Jacob

I believe you meant to post...............

Application.ScreenUpdating = False

your code

Application.ScreenUpdating = True


Gord Dibben MS Excel MVP
 
For avoiding the flashing please use...Thanks Gord...

Application.ScreenUpdating = False
'your code
Application.ScreenUpdating = True
 
Back
Top