Hi loroverde,
Thank you for pointing out function 'Application.Dialogs(xlDialogPrinterSetup).Show'. The plus side is it's a one liner. The minus side is that it doesn't suit your needs.
See the attached file, which identifies all printers (tested in Excel 2003 on Vista 32 bit system), whether they are active or not, and also identifies the default printer. It will also set the Default Printer. It is a lot more than a 'one liner', but does the job for me.
I use these routines to populate a ComboBox on a UserForm in my applications to enable a User to select a 'Default Printer'. I also create a list of printers to EXCLUDE if they are in the list, so the ComboBox won't be cluttered with junk.
I hope this helps.
Lewis
The code is attached for reference, but I suggest downloading the file, to see how it works without modiifying anything for your implementation.
To use the following code a Sheet named "Printers" is REQUIRED.
Module A
Module B
Bookmarks