Page Setup using a macro and Word 2003

S

Scott Schaffer

Hi all.

We recently upgraded from Word 2000 to 2003 and I am having a printing
issue with Word 2003 and a few printing macros I have developed for our
office. The macros were developed on 2000.

We are a law firm and quite often have to print a document on plain
paper and letterhead. To accomplish this in one printing step we have
setup our workgroups with either two printers or one printer with 4
trays. One printer (or top set of 2 trays) is loaded with plain letter
and legal size paper, the other printer (or bottom set of 2 trays) is
loaded with first and second page letterhead paper. The plain paper
printer is always the default printer for each workstation.

The documents are created so that the page layout is normal and each
page is the same as the rest. This way if the user is just printing a
white copy draft, they can use cntrl p and they get a white copy.

When a letterhead copy and white copy are needed, they use the macro,
which first goes into page setup, changes printers and sets the first
page to the correct printer tray for first page letterhead and the
second and rest of the pages to the correct tray for second page
letterhead, then prints the document.

Next the printer is changed back to the default and the page setup is
again changed so that the white copy prints on letter size paper.

My problem is, running this macro in 2003, it takes a long time (15 - 20
seconds) to print the document compared to the same time it takes on a
Word 2000 machine (5 seconds).

My question, is there another way to write this macro that would speed
up the printing process? I have included one of the macros in question.


I could print the white copy first and then the letterhead, but that
leaves the document setup for letterhead, so the next time they print it
will want letterhead, unless they remember not to save the document
before they close it.

Sub myp3()
'
' p3 Macro Prints one copy on white and one copy on letterhead on the
' 10th Floor Corporate Area Printers.
' Macro created 9/5/2002 by Scott Schaffer
'
Dim prntr As String

prntr = ActivePrinter
ActivePrinter = " \\OWZW_TREE\printq_6 "

ActiveDocument.PageSetup.FirstPageTray = 260
ActiveDocument.PageSetup.OtherPagesTray = 261

Application.PrintOut fileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages,
_
Collate:=True, Background:=True, PrintToFile:=False, PrintZoomColumn:=0,
_
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0

ActivePrinter = " \\OWZW_TREE\printq_2 "

ActiveDocument.PageSetup.FirstPageTray = 260
ActiveDocument.PageSetup.OtherPagesTray = 260

Application.PrintOut fileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages,
_
Collate:=True, Background:=True, PrintToFile:=False, PrintZoomColumn:=0,
_
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0

ActivePrinter = prntr

End Sub


Hope I have included enough detail and thanks for any help anyone can
give.

Scott Schaffer
Olive Waller Zinkhan & Waller




Scott Schaffer
ITSA
Olive Waller Zinkhan & Waller
 
W

Word Heretic

G'day Scott Schaffer<[email protected]>,

The simple way is to create copies of your printer driver, each one
set to a different tray. You can then call these printers from your
macro in turn.

Steve Hudson - Word Heretic

steve from wordheretic.com (Email replies require payment)
Without prejudice


Scott Schaffer reckoned:
 

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