Recently I wanted to change Excel’s ActivePrinter using VBA. That isn’t as straightforward as I expected it to be. In particular there is a. There’s a property of the Application object called ActivePrinter. Add a new VBA Module to workbook and paste the code below into it. Is there a way of creating a list of Active Printers on a users computer for the user to select to be used in the PrintOut method i.e. I am bypassing.
|Published (Last):||6 February 2017|
|PDF File Size:||9.6 Mb|
|ePub File Size:||4.57 Mb|
|Price:||Free* [*Free Regsitration Required]|
In particular there is a localization issue. At startup Excel will set Application.
ActivePrinter to your default printer, in my case usually a Laserjet. I expected that this would do it:.
Excel not only wants to know the printer name but also the port name of the printer, which can be activrprinter like Ne01, LPT1, Nul or any IP address. I almost decided to hard code the string for the above mentioned languages when I realized that the solution is already there.
Activeprinter in Word en Powerpoint. Thank you Fran Bus. Just what I was looking for. I have 32 bit Windows API code that gets the device names and works well locally, but needs sctiveprinter work for network printers.
Error in line: Solved that my problem — added the line ThisWorkbook.
So your code not such universal. Thanks for the suggestion, it works ok on my pc, but unfortunately I am having a couple of problems. Does it need a particular library? I could not find any difference with my pc, actievprinter there is no such problem. I expected that this would do it: The problem I typed? ActivePrinter in the immediate window and got as reply: How to get the port of a printer? Configure the printer ports in Windows. And do that on all machines of all users? Sounds a little bit better.
Printer property (Excel) | Microsoft Docs
Unfortunately it is not obvious to create a list of all possible port names. Dialogs xlDialogPrinterSetup and ask the user activeptinter select the printer. Use API functions to retrieve all your installed printers and there port names from the registry. This is the code to test the function: Print “No match” Else Application.
ActivePrinter ‘ do something with the temp printer Application. ActivePrinter End Sub And this is the function: StdRegProv” ‘ get the Devices from the registry regobj.
Programming Excel with VBA and .NET by Steve Saunders, Jeff Webb
VBA stuff Tagged With: Comments Lewis Metzger says: Your code is simply brilliant. Thanks very much for this! Has made maintaining a bit of code here vvba simpler. Litle bit modify your code. E-mail subscription to new posts?
Please use the RSS Posts button above or click here. Recent comments cbd clinic products on Excel and XML: Return to top of page.