Visual Basic - Impresora predeterminada

Life is soft - evento anual de software empresarial
 
Vista:

Impresora predeterminada

Publicado por Pedro J. (29 intervenciones) el 17/01/2007 13:04:13
Hola, tengo un problema con el objeto commondialog. Cuando hago cd.showprinter, me muestra la lista de las impresoras que hay, y aunque cambie de impresora siempre me imprime por la impresora predeterminada. ¿Que puedo hacer?

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

RE:Impresora predeterminada

Publicado por Ismael (12 intervenciones) el 17/01/2007 16:28:08
Utiliza este código antes de imprimir

ActivePrinter = nombreimpresora

un saludo,
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

RE:Impresora predeterminada

Publicado por Ismael (12 intervenciones) el 17/01/2007 16:28:10
Utiliza este código antes de imprimir

ActivePrinter = nombreimpresora

un saludo,
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

RE:Impresora predeterminada

Publicado por Pedro J. (5 intervenciones) el 18/01/2007 10:11:06
Gracias Ismael por responder, pero no lo entiendo. ¿Que quieres decir con esto?. Tengo que crear una variable y asignarle lo de printer.devicename??. También lo que me pasa, es que una vez que imprimo por una impresora, ya aunque elija otra, siempre me imprime por la misma.
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

RE:Impresora predeterminada

Publicado por Pere (150 intervenciones) el 18/01/2007 11:03:36
Con:

Printer.TrackDefault = True

vinculas la impresora a la que esté como predeterminada en el panel de control.

Un saludo
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

RE:Impresora predeterminada

Publicado por Pere (150 intervenciones) el 18/01/2007 11:05:08
Prueba con Printer.TrackDefault = 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

RE:Impresora predeterminada

Publicado por Pedro J. (5 intervenciones) el 18/01/2007 13:19:28
Gracias, en lugar de poner el valor a false, lo he puesto a true y me funciona. Primero muestro la caja de diálogo y luego la impresora que elija se queda predeterminada y funciona perfectamente.

CajaDialogo.ShowPrinter
Printer.TrackDefault = True

Pero, ahora la duda, es ¿cómo hago para guardar en una variable la impresora que tenía como predeterminada antes de mostrar la caja de diálogo?.

Gracias
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

RE:Impresora predeterminada

Publicado por Pere (150 intervenciones) el 18/01/2007 15:19:35
Pudes usar un Combo en lugar del CommondDialog

Dim impresora As Printer
Dim preder As String

'guardo el nombre de la predeterminada
preder = Printer.DeviceName

'asigno al text del combo la predeterminada 'para que aparezca primero
cboImp.Text = preder

'Recorrro impresoras y añado una al combo
For Each impresora In Printers
cboImp.AddItem impresora.DeviceName
Next

'desde el combo puedo elegir la que quiera y al aceptar
'con un botón de comando, la propiedad text del combo lo comparo
'con las que hay y ,cuando la encuentro, la asigno
'para imprimir con ella.(Codigo de abajo en comentario)

'For Each impresora In Printers
' If cboImp.Text = impresora.DeviceName Then
' Set Printer = impresora

' Exit For
' End If
'Next

'código para imprimir
'.
'.
'fin código de imprimir

'recorre para encontar la predeterninada
For Each impresora In Printers

If preder = impresora.DeviceName Then
'asignación de la impresora predeterminada anterior
Set Printer = impresora
endif
Exit For

Espero que te sirva de ayuda´
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

RE:Impresora predeterminada

Publicado por Pedro J. (5 intervenciones) el 18/01/2007 15:39:34
Lo quería hacer con el commondialog, pero así me vale.

Gracias por 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

RE:Impresora predeterminada

Publicado por Pere (150 intervenciones) el 18/01/2007 15:55:04
Es que, Pedro J. yo tuve ese mismo problema y me volví loco.
En la empresa funcionan varios programas (cada uno de diferente autor) y cuando imprimías con uno te dejaba como predeterminada la que habías elegido con ese programa.
Terminé por hacerme mi propio CommonDialog mucho más agradable que el de VB. Si te interesa te paso el form con el código correspondiente, sólo tienes que adaptártelo un poco.

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