Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Programming / May 2006

Tip: Looking for answers? Try searching our database.

Page Set Up using macros.

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Scott Schaffer - 03 May 2006 21:46 GMT
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

Scott Schaffer
ITSA
Olive Waller Zinkhan & Waller
debbieprobert - 31 May 2006 16:40 GMT
Hi Scott

I have seen this before (works fine in 2000 but a problem in 2003) and
believe it is down to the fact that you are changing the active printer in
the code.  Given that you then use ActivePrinter to reset the printer back to
its original setting it suggests that you don't actually need to change the
active printer.  Try using this instead:

With Dialogs(wdDialogFilePrintSetup)
   .printer = " \\OWZW_TREE\printq_6 "
   .DoNotSetAsSysDefault = True
   .Execute
End With

Hope that helps
Debbie

>Hi all.
>
[quoted text clipped - 91 lines]
>ITSA
>Olive Waller Zinkhan & Waller

Rate this thread:






 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.