Para Pultarco: la pregunta sigue siendo la misma, ¿cómo va a seleccionar la impresora, si no se sabe o no se ve cuales tiene? En tu código de ejemplo se selecciona la impresora que tenga predeterminada la orientación vertical o de retrato.
Para Luis: primero, necesitas cargar en un control, digamos un ComboBox, las impresoras instaladas en tu equipo:
Sub CargaImpresoras
Dim X as Printer
Combo1.Clear
For Each X In Printers
Combo1.AddItem X.DeviceName
Next
Combo1.ListIndex=0
End Sub
Y para dejar lista para imprimir la impresora que el usuario seleccione desde el Combo:
Private Sub Combo1_Click()
Dim X As Printer
For Each X In Printers
If X.DeviceName = Combo1.Text Then
' La define como predeterminada del sistema.
Set Printer = X
Exit For
End If
Next
End Sub
Tal como dice Plutarco, todo esto aplica para el objeto Printer.