Changing the selected (current) printer in Word without changing the system default printer

Article contributed by Ibby

You can change the selected printer in Word using the ActivePrinter property. The problem is that this also changes the default printer for the whole system (as you would do in Control Panel | Printers). To change the default printer for Word only, you can use the following:

With Dialogs(wdDialogFilePrintSetup)
    .Printer = "HP DeskJet 670C Series v11.0 on LPT2:"
    .DoNotSetAsSysDefault = True
End With

To get the name of the printer, change Word's default printer manually and use:

Debug.Print ActivePrinter

You can then copy/paste the name of the printer from the Immediate Window (Ctrl-G) into your code.

See also: Getting help with calling Word's built-in dialogs using VBA (and why doing so can be much more useful than you'd think).