Booklet printing in word?

G

Guest

I've read many postings and the MVPS article by Susan. I have no problem
creating booklets for my own documents. However, I wish to print "other
people's documents" in booklet form without destroying their formatting. I
wish to save paper, and I carry a Franklin Covey planner that uses the 5.5 x
8.5" page size, which is perfectly-suited for booklets. Having many
documents emailed to me daily, I would like to print these in booklet form,
put them in the planner, and read later.

When I choose scaling at "2-sheets per page", and use my printer's duplex
feature on the "short edge", it comes very very close to what I wish to
accomplish. However, it prints pages 1 and 2 on one side, and 3 and 4 on the
other side -- as opposed to 4 and 1, 2 and 3, which is required to work
properly once folded. If you cut and hole-punch, it gets worse, as there is
no way to arrange them properly.

Any help is appreciated
 
S

Suzanne S. Barnhill

One way would be to pour the document into a fresh Word document using the
"Book fold" feature. The problem of course, will come with scaling tables,
graphics, etc.

But if there are not too many pages, note that you can select the order in
which they are printed using "2 pages per sheet." If you tell Word to print
4,1,2,3 (or 8,1,2,7,6,5,4,3), you will get the layout you need. For more
than a couple of sheets, though, this would get to be a lot of work.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA

Email cannot be acknowledged; please post all follow-ups to the newsgroup so
all may benefit.
 
G

Guest

4,1,2,3 -- interesting idea. I'll have to try that one!

You nailed it, that the problem with the fresh document is in scaling, but
it isn't just tables and graphics -- When you print 2 pages per sheet, the
font sizes are scaled down (I believe 50%?). It would be nice to be able to
quickly-and-easily say "scale everything in this document by 50%", and use
the Book fold feature.

Thanks for your help,

/John
 
G

Guest

Okay, I decided to put my "programming hat" on, and wrote a pretty cool
little Macro (shown at the end of this msg) to print booklets properly.

I was all excited today when I got a 45-page contract to review. I tried my
little macro, and it failed. It properly added 3 pages, bringing the total
to 48 (divisible by 4), and tried to print pages
"48,1,2,47,46,3,4,45,44,5,6,43,42,7,8,41,40,9,10,39,38,11,12,37,36,13,14,35,34,15,16,33,32,17,18,31,30,19,20,29,28,21,22,27,26,23,24,25".
But the first page, which should have been pages 48,1,2,47 - was just pages
1 and 2. I think it has something to do with having 11 sections in the
document (so there is no "page 47"). Any suggestions on how I can modify the
macro below to be "section agnostic"? Thanks in advance!

By the way, I overcame my problem temporarily by downloading the test
version of "fineprint" (www.fineprint.com), which works great! It also lets
you combine print jobs from multiple apps into a single booket -- I used it
to print a booklet with a 1-page Word document (and agenda), a 2-page monthly
calendar from Outlook, and another 1-page Word doc. Very cool! But, I think
doing it directly from Word would be cleaner, so I'd still like to master
this macro...

Sub Booklet()
'N=Number of pages to print
N = ActiveDocument.BuiltInDocumentProperties("Number of Pages")

'First, add pages at the end until it's divisible by 4
PagesToAdd = 4 - (N Mod 4)
If PagesToAdd <> 4 Then
For page = 1 To PagesToAdd
'Go To End
Selection.EndKey Unit:=wdStory
'Insert Hard Page Break
Selection.InsertBreak Type:=wdPageBreak
'Insert Text "This page intentionally left blank"
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.TypeText Text:="This page intentionally left blank."
Selection.TypeParagraph
Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
Next
End If

P = Int((N + 3) / 4) * 2
For page = 0 To Int((N - 1) / 4)
If outstring <> "" Then outstring = outstring & ","
outstring = outstring & CStr((P - page) * 2) & ","
outstring = outstring & CStr((page * 2) + 1) & ","
outstring = outstring & CStr((page * 2) + 2) & ","
outstring = outstring & CStr(((P - page) * 2) - 1)
Next
With Dialogs(wdDialogFilePrint)
.Range = wdPrintRangeOfPages
.Pages = outstring
.Show
End With
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top