Para cambiar la impresora predeterminada creas un command dialog y pones
Código:
With CommonDialog1
.DialogTitle = "Seleccionar Impresora"
.Flags = cdlPDPrintSetup
.ShowPrinter
End With
Al cambiar la impresora, el tipo de papel etc y al hacer click en Aceptar automaticamente cambia y al imprimir con el objeto printer te usa la configuracion que especificaste...
No es optimo si queres que el usuario no intervenga en seleccionar la impresora