Visual Basic - elegir impresora no predeterminada

Life is soft - evento anual de software empresarial
   
Vista:

elegir impresora no predeterminada

Publicado por Martin (75 intervenciones) el 05/06/2008 18:43:08
Hola a todos tengo un programa hecho en vb6.0 y quisiera saber como puedo hacer para poder elegir la impresora diferente a la predeterminada para mis reportes pero sin usar el commondialog ya que serian a otra impresora que convierte lo impreso en pdf para que el usuario pueda elegir si manda imprimir a papel o a archivo pdf.

gracias por la ayuda que puedan brindarme

saludos....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:elegir impresora no predeterminada

Publicado por Jorge Alberto Rivera (1 intervención) el 05/06/2008 22:58:12
Yo tenía el mismo problema pero lo solucione con el siguiente código:

Dim X As printer
For Each X In Printers
If X.DeviceName = "HP DeskJet 930C/932C/935C" Then
' Set printer as system default.
Set printer = X
' Stop looking for a printer.
Exit For
End If
Next

Este código tiene que antes de mandar imprimir para que en ese momento la impresora por deafult sea cambiada, pero tomando en cuenta que solamente es cambiada para la impresión temporal; es decir no cambia la impresora por defecto de todo el windows, sino que solamente para imprimir en una circuntasncia dada.

En mi caso cuento cun un print server de una red y dentro de mi programa tengo que poder elegir desde código a cual impresora enviar los datos según sea la acción del usuario.

Sustituye el (X.DeviceName = "HP DeskJet 930C/932C/935C") con el nombre adecuado o incluso una variable en dónde indique el nombre de la impresora a la que se desea imprimir.

Espero sea de tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

fallo

Publicado por Martin (75 intervenciones) el 06/06/2008 04:36:45
Hola Jorge,agradezco infinitamente tu ayuda aunque no se si hice algo mal porque encuentra la impresora pero sigue mandando imprimir a la que esta por default,el codigo lo tengo asi :

Dim X As Printer
For Each X In Printers
If X.DeviceName = "Oki320" Then
Set Printer = X
MsgBox "IMPRESORA ENCONTRADA"
Exit For
End If
Next
Reporte_OCompras.Sections("Section4").Controls("lbl_Empresa").Caption = Empresa
Reporte_OCompras.Sections("Section4").Controls("lbl_Folio").Caption = FolioOC
DteEntornoDatos.Lista_OCompras FolioOC
Reporte_OCompras.PrintReport False 'EL FALSE EVITA QUE SE MUESTRE EL CUADRO DE DIALOGO IMPRIMIR
Imprimir.Enabled = False

saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar