La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49047 - IMPRESION CON COMMONDIALOG
Autor:  Oliver Ibarra
Hola, espero que algien me pueda ayudar, estoy desesperado, quiero hacer una impresion desde visual basic, la cual se imprime directamente a la impresora que tengo predeterminada en Windows, lo que quiero es que antes de imprimir lo que quiero se muestre una ventana donde vea las diferentes impresoras instaladas en mis sistema y seleccionar una a a la cual enviar, he probado con el commondialog.showprinter pero cuando selecciono otra impresora que no es la predeterminada no respeta la seleccion y acaba enviandola a la que se tiene por defecto en el Windows, trate que desde las p'ropiedades del commondialog poner en Printerdefault = true, ahora si, al seleccionar la impresora en el cuadro de impresoras me envia la impresion a la impresora que yo quiero pero el problema es que la convierte a predeterminada y yo quiero que siga la incial como default, que me aconsejan , como lo puedo solucionar, he pensado que debe de haber una instruccion donde uno pueda indicar el nombre de la impresora que uno quiera o bien otra instruccion que regrese el valor predeterminado a la impresora inicial, espero que me entiendan , por su ayuda, gracias,,, ayudaaaaaa por favor...

  Respuesta:  xavi
Aqui tienes el codigo para seleccionar la impresora. Nombre de imrpesora, es la impresora que quieres que imprima.

Dim x As Printer
For Each x In Printers
If x.DeviceName = "NombreImpresora" Then
Set Printer = x
exit for
End If
Next x