Printing certain pages in all sections
by THVrZWVl » Wed, 14 Mar 2007 15:39:10 GMT
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.
Re: Printing certain pages in all sections
by macropod » Wed, 14 Mar 2007 20:54:52 GMT
Hi Lukeee,
See: http://www.**--****.com/
Although specific to Word 2003 & 2003, the principle applies to earlier versions as well.
Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------
Re: Printing certain pages in all sections
by Graham Mayor » Wed, 14 Mar 2007 21:34:56 GMT
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
Word MVP web site http://www.**--****.com/
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Re: Printing certain pages in all sections
by THVrZWVl » Thu, 15 Mar 2007 08:27:08 GMT
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.
Re: Printing certain pages in all sections
by Graham Mayor » Thu, 15 Mar 2007 16:02:56 GMT
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
Word MVP web site http://www.**--****.com/
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>