ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Network printing (https://www.excelbanter.com/excel-programming/416329-network-printing.html)

Patrick C. Simonds

Network printing
 
The code below is suppose to print a worksheet, but my problem is that it is
suppose to print to a specific network printer and that printer is not
always assigned
to Ne09. I have seen it be anything from Ne01 to Ne10.

Any way this code can be forced to look for the proper Ne##?. Unfortunately,
depending on the computer from which this is run, it is not normally the
default printer.

This is just a snippet of the code. The macro is much more involved

Sub Macro7()
'
' Macro7 Macro
' Macro recorded 8/28/2008 by wta
'

'
Application.ActivePrinter = "\\printserver1\ParaT_HPLJ_3800 on Ne09:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\printserver1\ParaT_HPLJ_3800 on Ne09:", Collate:=True

End Sub


JLatham

Network printing
 
Patrick,
I could definitely be wrong here, but this should at least be worth a try.
It seems to work just fine for me on my systems, but I'm not running in a
domain, just a workgroup.

First, just comment out or delete the first line where you're setting the
active printer - probably just as well, as then you've changed the default
printer for the user which may surprise them later when they expect their
printouts to go to a local printer or one that's a shorter walk away than the
one you want for your process. So
Application.ActivePrinter = "\\printserver1\ParaT_HPLJ_3800 on Ne09:"
becomes (commented out)
'Application.ActivePrinter = "\\printserver1\ParaT_HPLJ_3800 on Ne09:"

In the next line of code, change the name of the ActivePrinter:= to get rid
of the " on Ne09:" portion. Try the line like this:

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\printserver1\ParaT_HPLJ_3800", Collate:=True

As I said, this works fine to push a printout on one of my systems with a
completely different printer set as the default printer over to a shared
printer on another system.

I think the trick is that all systems running your package will simply have
to have access to the \\printserver1\ParaT_HPLJ_3800 printer. If they are
connected to a HPLJ_3800 on another print server, it'll probably fail.

Now, there some really applicable and adaptable code showing how to find out
what printers are available on a system on this page:
http://word.mvps.org/faqs/MacrosVBA/...lePrinters.htm

In the Sub Test() routine, instead of listing the found printers via
Debug.Print you could modify the code to look for something like "HPLJ_3800"
in the printer names and save that entry to use in your .PrintOut line of
code for the ActivePrinter:= setting.



"Patrick C. Simonds" wrote:

The code below is suppose to print a worksheet, but my problem is that it is
suppose to print to a specific network printer and that printer is not
always assigned
to Ne09. I have seen it be anything from Ne01 to Ne10.

Any way this code can be forced to look for the proper Ne##?. Unfortunately,
depending on the computer from which this is run, it is not normally the
default printer.

This is just a snippet of the code. The macro is much more involved

Sub Macro7()
'
' Macro7 Macro
' Macro recorded 8/28/2008 by wta
'

'
Application.ActivePrinter = "\\printserver1\ParaT_HPLJ_3800 on Ne09:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\printserver1\ParaT_HPLJ_3800 on Ne09:", Collate:=True

End Sub



JLatham

Network printing
 
Closed up shop a little too early. There is also some good code to help
enumerate the printers available on a system he
http://support.microsoft.com/kb/q166008/

Hope all of this helps you find a solution.


"Patrick C. Simonds" wrote:

The code below is suppose to print a worksheet, but my problem is that it is
suppose to print to a specific network printer and that printer is not
always assigned
to Ne09. I have seen it be anything from Ne01 to Ne10.

Any way this code can be forced to look for the proper Ne##?. Unfortunately,
depending on the computer from which this is run, it is not normally the
default printer.

This is just a snippet of the code. The macro is much more involved

Sub Macro7()
'
' Macro7 Macro
' Macro recorded 8/28/2008 by wta
'

'
Application.ActivePrinter = "\\printserver1\ParaT_HPLJ_3800 on Ne09:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\printserver1\ParaT_HPLJ_3800 on Ne09:", Collate:=True

End Sub




All times are GMT +1. The time now is 05:24 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com