Visual Basic - Elegir impresora

Life is soft - evento anual de software empresarial
 
Vista:

Elegir impresora

Publicado por Nestor G (4 intervenciones) el 25/06/2007 19:52:36
Hola: trabajo con VB 6.0

si quiero elegir otra impresora que la predeterminada con el CommonDialog1.ShowPrinter me sucede que si pongo CommonDialog1.PrinterDefault = True me cambia la predeterminada e imprime por la impresora elegida. Si en cambio pongo false no imprime por la impresora elegida. Imagino que debiera hacer un Set printer = ... pero no encuentro como hacer para saber cual es la impresora que fue elegida con el CommonDialog1.ShowPrinter .
Probé con distintos flags y no me doy cuento.
Intuyo que puede ser con cdlPDReturnDefault pero no me doy cuenta como se utiliza.
Gracias
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

Prueba con esto.

Publicado por Yo (49 intervenciones) el 25/06/2007 22:12:15
Dim xPrinter as Printer

' Asumimos que en la variable 'stImpresora' está la impresora que
' se eligió por medio del CommonDialog.
For Each xPrinter In Printers
If Lcase( xPrinter.DeviceName ) = Lcase( stImpresora ) then
Set Printer = xPrinter ' La deja lista para usarse.
Exit For
End if
Next
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

pero como se el devicename

Publicado por Nestor G (4 intervenciones) el 25/06/2007 23:57:02
Gracias "Yo" pero como se el devicename elegido en un commondialog.showprinter ?

NG
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

Mejor usa un combobox.

Publicado por Yo (49 intervenciones) el 26/06/2007 00:37:47
Pues te aconsejo que no uses un Commondialog para ello, ya que el método ShowPrinter sirve para especificar características de impresión como número de páginas y copias. Si quieres que el usuario elija una impresora utiliza un ComboBox, y que de ahí la escoja. Este es un procedimiento para cargar en un combo las impresoras que tengas instaladas:

Dim x As Printer

Combo1.Clear
For Each x In Printers
Combo1.AddItem x.DeviceName
Next
Combo1.ListIndex = 0

Desde ahí podría elegir el usuario qué impresora usar.
Y para completar el ejemplo de la respuesta anterior, en vez de utilizar la variable stImpresora cámbiala por Combo1.Text
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