Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm trying to use vba to print a worksheet. Here's the bit of code that is
causing me fits: ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Local Printer on NE03:", Collate:=True And, the problem is...The "NE03:" keeps changing when I reboot. Sometimes the printer is on NE03:. The next time it's on NE04:". So, I borrowed some code from a site ("TechTrax") that reports a bunch of info about the printers. Then, I tried to build the ActivePrinter name by combining the string "Local Printer on " with a string of the port name. However, the port name gets reported as "USB001" instead of "NE03." In my list of printers, the printer's name is simply "Local Printer". Any ideas how to do this? TIA for any help and suggestions. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
You can use the LIKE operator. Even though VBA help says activeprinter is read/write its read only. You can only change the active printer by calling the print dialog and clicking on a printer. Sub test() If Application.ActivePrinter Like "Adobe*" Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=Application.ActivePrinter Like "Adobe*", Collate:=True Else 'Choose printer Application.Dialogs(xlDialogPrinterSetup).Show ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=Application.ActivePrinter, Collate:=True End If Debug.Print Application.ActivePrinter End Sub 'Debug.Print=Adobe PDF on Ne03: John "technotrope" <P+Pirtle+AT+mka+DOT+com wrote in message ... I'm trying to use vba to print a worksheet. Here's the bit of code that is causing me fits: ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Local Printer on NE03:", Collate:=True And, the problem is...The "NE03:" keeps changing when I reboot. Sometimes the printer is on NE03:. The next time it's on NE04:". So, I borrowed some code from a site ("TechTrax") that reports a bunch of info about the printers. Then, I tried to build the ActivePrinter name by combining the string "Local Printer on " with a string of the port name. However, the port name gets reported as "USB001" instead of "NE03." In my list of printers, the printer's name is simply "Local Printer". Any ideas how to do this? TIA for any help and suggestions. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() You can check the NE-ID (value 1 - 99) using the following code: your printer is for example: "HP-LJ-6" sub ne_search () dim ne as sting, printer$, i% printer = "HP-LJ-6" on error resume next for i = 1 to 99 ne = vba.format(i,"00") err.number = 0 application.activeprinter = printer & ne & ":" if err.number = 0 then exit for end if next end sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Thu, 24 Jul 2008 00:51:14 -0700, Thomas Dettenberg wrote:
You can check the NE-ID (value 1 - 99) using the following code: your printer is for example: "HP-LJ-6" sub ne_search () dim ne as sting, printer$, i% printer = "HP-LJ-6" on error resume next for i = 1 to 99 ne = vba.format(i,"00") err.number = 0 application.activeprinter = printer & ne & ":" if err.number = 0 then exit for end if next end sub Here are a couple more options (though not necessarily better than yours) http://www.dailydoseofexcel.com/arch...-printer-port/ -- Dick Kusleika Microsoft MVP-Excel http://www.dailydoseofexcel.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Printer Using USB Port Slows Page Setup | Excel Discussion (Misc queries) | |||
printer port assignment in macro | Excel Programming | |||
Capturing Data from a Com Port or Printer Port | Excel Programming | |||
active printer | Excel Programming | |||
Active printer | Excel Programming |