Print Frist 2 pages in First Page Tray & others in other pages tra

S

Senthil

I use one tray for Headed Paper and another for plain paper.
Using macro i print first page of the document to the headed paper and
remaining pages in plain paper tray correctly.

Now to be more eco-freindly, to avoid wastage of papers, i need to print the
second page of the document to the headed paper back side.

So ideally i need to Print Frist Two pages in First Page Tray & reamining
pages in other pages tray (which is already duplexed).

Need to if this is possible.

Code
--declare
Dim sPrinterName$
Dim sPortName$
Dim nFirstPageTray
Dim nOtherPagesTray

-- assignment
sPrinterName$ = 'assign print name
sPortName$ = 'assign port name
nFirstPageTray = ' assign "First Page Tray"
nOtherPagesTray = ' assign "Other Pages Tray"

--Set print details
WordBasic.FilePrintSetup Printer:=sPrinterName$ + " on " + sPortName$,
DoNotSetAsSysDefault:=1

--Set the trays
WordBasic.FilePageSetup applypropsto:=4, FirstPage:=nFirstPageTray,
OtherPages:=nOtherPagesTray

--Print the ducment
WordBasic.FilePrint Background:=1

Thanks
Senthil
 
G

Graham Mayor

Instead of setting different first page - print the first two pages to tray1
and the rest to tray2. If the whole is duplexed it should work. For macro
code to switch trays see http://www.gmayor.com/fax_from_word.htm

I believe all trees used for paper are from sustainable forests planted for
the purpose of creating paper and as more trees should be better, it could
be argued that by not using paper you are adding to the reduction in tree
numbers planted - albeit in a tiny way :)

You would also be helping reduce available jobs.


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


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
S

Senthil

So is it not possible if we have set First Page tray and other pages tray?
Can we not tweak to print first two pages in First Page tray?

Meanwhile i will go through the link you posted.

And regarding the reducing papers its client who insisted upon this :)

Thanks
Senthil
 
S

Senthil

I couldn't find any specific code which says to print two pages in tray1 and
rest to tray2 in the given link.

OR

Do you mean to say that if First page tray is set to Tray1 and other pages
Tray to Tray2 and if the whole printer is duplexed (tray1 and tray2), the
output will be two pages in first tray and remaining pages to Tray 2.
 
G

Graham Mayor

Referring to the aforementioned web page - you would probably need to modify
the macro along the lines of

Sub FilePrint()
Dim sCurrentPrinter As String '*
Dim sTray As Integer
sCurrentPrinter = ActivePrinter '*
sTray = Options.DefaultTrayID
ActivePrinter = "HP LaserJet 4050 Series PS" '*
With Options
.DefaultTrayID = 260
End With
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="1,2"
With Options
.DefaultTrayID = sTray
End With
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="3-99"
ActivePrinter = sCurrentPrinter '*
End Sub

The lines marked '* could be removed if the user is always using the same
printer (though check the tray assigments as shown)
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
S

Senthil

Thanks Graham, this seems to be working expect i modified printing for rest
of pages like below, hope this is right.

sRestPages = "3-" & ActiveDocument.ActiveWindow.Panes(1).Pages.Count

Options.DefaultTrayID = nOtherPagesTray
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages,
Item:=wdPrintDocumentContent, Copies:=1, Pages:=sRestPages

Cheers
Senthil
ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="3-99"
 
G

Graham Mayor

That will work - did you add
Dim sRestPages as String
at the start? You should declare all your variables.

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


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

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