Jon DeVito
asked on
Word Macro to "Scale to Fit"
Hi all, I'm looking to add to a current macro the ability to Fit to Page when printing, the option I believe is Scale to Fit. I just can't figure out the coding for the macro to use Scale to Fit, it should fit on one Letter Size page.
Thanks.
Jon
Thanks.
Jon
ASKER
Thanks Graham. I put it in like below. I get an error on the line: With ActiveDocument.PrintOut under the word .PrintOut
Am I doing this wrong? I tried to follow the same format as the rest of the doc.
Thanks!
Am I doing this wrong? I tried to follow the same format as the rest of the doc.
Thanks!
Sub PrintAL()
'
' PrintAL Macro
'
'
Selection.WholeStory
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = InchesToPoints(0.3)
.BottomMargin = InchesToPoints(0.2)
.LeftMargin = InchesToPoints(0.7)
.RightMargin = InchesToPoints(0.7)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(8.5)
.PageHeight = InchesToPoints(11)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
With ActiveDocument.PrintOut
.PrintZoomPaperWidth = 72 * 8.5
.PrintZoomPaperHeight = 72 * 11
End With
End Sub
ASKER
I tried it this way also. I dont get an error but the resizing options dont look right to me. I attached a pic of what they look like after I run the macro.
Thanks.
Thanks.
Sub PrintAL()
'
' PrintAL Macro
'
'
Selection.WholeStory
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = InchesToPoints(0.3)
.BottomMargin = InchesToPoints(0.2)
.LeftMargin = InchesToPoints(0.7)
.RightMargin = InchesToPoints(0.7)
.Gutter = InchesToPoints(0)
.HeaderDistance = InchesToPoints(0.5)
.FooterDistance = InchesToPoints(0.5)
.PageWidth = InchesToPoints(8.5)
.PageHeight = InchesToPoints(11)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
ActiveDocument.PrintOut PrintZoomPaperWidth:=72 * 8.5, PrintZoomPaperHeight:=72 * 11
End Sub
9-16-2010-4-03-19-PM.jpg
I'm not sure what I don't have a printer model whose driver has that tab on the properties dialogue, so I'm not sure what is the problem is.
I see, however that the PageSetup code has already specified the page size to the one that you need, so there should be no need to resize by changing the scale.
I see, however that the PageSetup code has already specified the page size to the one that you need, so there should be no need to resize by changing the scale.
Sorry. The first sentence should read:
I don't have a printer model whose driver has that tab on the properties dialogue, so I'm not sure what is the problem is.
I don't have a printer model whose driver has that tab on the properties dialogue, so I'm not sure what is the problem is.
ASKER
Thanks, I dont know why it still runs onto 2 pages sometimes. The only way I found to fix it is either shrink the font even further or click Print Document On & check the box for Scale to Fit.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks Graham, I will try this one today & let you know.
Thanks.
Jon
Thanks.
Jon
ASKER
Good enough to get it working for this project. Thanks so much.
Where 8.5 and 11 are the size in inches