How do i setup a print command button on a template?

J

JAY@OPG

I want to setup a print command button on a template that will allow me to
print to a certain network printer? For example we have a template called
green sheet and a printer called wcpy_green I want to know if there is a way
to have a command button that will print to wcpy_green or maybe even set it
up so that it will only print to that printer.
 
J

Jean-Guy Marcil

JAY@OPG was telling us:
JAY@OPG nous racontait que :
I want to setup a print command button on a template that will allow
me to print to a certain network printer? For example we have a
template called green sheet and a printer called wcpy_green I want to
know if there is a way to have a command button that will print to
wcpy_green or maybe even set it up so that it will only print to that
printer.

Two Options.

1)
Set it up so that all documents based on this template use the desired
printer automatically when they are created or opened.
In the "ThisDocument" module:
'_______________________________________
Private Const varUserPrinterName As String = "Printer"
Private Const varGreenPrinterName As String = "wcpy_green"
'_______________________________________
Private Sub Document_Close()

Application.ActivePrinter = _
ActiveDocument.Variables(varUserPrinterName).Value

End Sub
'_______________________________________
'_______________________________________
Private Sub Document_New()

ThisDocument.SetPrinter

End Sub
'_______________________________________
'_______________________________________
Private Sub Document_Open()

ThisDocument.SetPrinter

End Sub
'_______________________________________
'_______________________________________
Sub SetPrinter()

ActiveDocument.Variables(varUserPrinterName).Value = _
Application.ActivePrinter

Application.ActivePrinter = varGreenPrinterName

End Sub
'_______________________________________

This printer will also be set if other documents are opened after the target
documents has been opened, but not closed.

2)
Intercept the native print commands
In a standard module:
'_______________________________________
Private Const varUserPrinterName As String = "Printer"
Private Const varGreenPrinterName As String = "wcpy_green"
'_______________________________________
Sub FilePrint()
'To intercept CTRL-P or File > Print

MyModule.SetNewPrinter

Dialogs(wdDialogFilePrint).Show

Application.ActivePrinter = _
ActiveDocument.Variables(varUserPrinterName).Value

End Sub
'_______________________________________
'_______________________________________
Sub FilePrintDefault()
'To intercept the print button on the toolbar

MyModule.SetNewPrinter

ActiveDocument.PrintOut

Application.ActivePrinter = _
ActiveDocument.Variables(varUserPrinterName).Value

End Sub
'_______________________________________
'_______________________________________
Private Sub SetNewPrinter()

ActiveDocument.Variables(varUserPrinterName).Value = _
Application.ActivePrinter

Application.ActivePrinter = varGreenPrinterName

End Sub
'_______________________________________

--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP
(e-mail address removed)
Word MVP site: http://www.word.mvps.org
 

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