Printing certain pages in all sections

G

Guest

Is there any possible way to print a range of pages in all sections? I have a
number of mail merge documents that are merged to a new document overnight
(due to their size, as it takes anywhere up to 40 mins with several thousand
records) I need to print only certain pages within each section.

Eg, the original merge document had 3 pages and 500 records, after it is
merged to a new document I end up with a 1500 page document with each section
containing 3 pages. What we need to do is print page 1 and 2 of each section
to one printer (as it is duplex) and send page 3 to another printer as the
duplex and simplex pages use different paper. Is this possible?

We can do this before merging and selecting 'Merge to Printer', but the
merge process takes far too long on some of our documents, but we seem to
lose this functionality after mering into one document. Cheers.
 
G

Graham Mayor

In theory at least, the following macro should print page 1 & 2 of each
section on one printer and page 3 on another (change Printer 1 and Printer 2
for the actual printers.)

Whether this would be any quicker I hesitate to guess - try it with a few
records.

Sub PrintXSections()
Dim sCurrentPrinter As String
Dim x as Long, lSecs As Long
Dim sPages As String
lSecs = ActiveDocument.Sections.Count

sCurrentPrinter = ActivePrinter
For x = 1 To lSecs
ActivePrinter = "Printer 1"
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, _
Pages:="p1s" & x & ",p2s" & x
ActivePrinter = "Printer 2"
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, _
Pages:="p3s" & x
Next x
ActivePrinter = sCurrentPrinter
End Sub


--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP

My web site www.gmayor.com

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
G

Guest

Thanks Graham,

I applied that code with a few minor changes and also did the same thing in
C# using the interop libraries, unfortunately both had the same result -
although it did print what I needed, I ended up with hundreds of jobs being
spooled!

It's just a shame that the p*s* syntax in the print dialog doesn't support
this, but thanks for your help.
 
G

Graham Mayor

I cannot see any way around the problem that would eliminate the hundreds of
print jobs. It might be a little quicker to spool pages 1&2 first and then
pages 3, but you are still going to have lots of print jobs.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP

My web site www.gmayor.com

<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 

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