Visual Basic - Selección impresora desde programa

Life is soft - evento anual de software empresarial
 
Vista:

Selección impresora desde programa

Publicado por Albert (4 intervenciones) el 08/07/2008 13:18:00
He desarrollado un programa en VB6 para imprimir dos tipos de etiquetas utilizando Crystal Report 8, de forma y manera que unas salgan por una impresora y las otras por otra.

Para evitar que el usuario tenga que especificar cada vez la impresora, en la base de datos que utiliza el programa tengo una tabla en la cual se guardan los nombres de las impresoras a utilizar por cada tipo de etiqueta. El mantenimiento de dicha tabla se realiza desde el programa, el cual muestra las impresoras existentes y permite seleccionar una para cada tipo de etiqueta.

En el momento de imprimir la etiqueta lo que hago es cambiar el parámetro PrinterName del objeto de Crystal Reports, en función de la etiqueta que corresponda (accediendo a la base de datos para obtener el nombre).

Por desgracia, estoy comprobando que esto no funciona y lo que hace es utilizar la impresora que tiene incorporado el propio RPT (el que aparece cuando modificas el report en el apartado Preparar Impresora).

En cambio, si dentro del programa utilizo el método PrinterSelect del objecto de Crystal Reports, la impresión funciona correctamente, es decir, utiliza la impresora que se selecciona.

He debugado el programa para comprobar que el nombre que se pone en el PrinterName sea correcto y siempre coincide con el DeviceName de la impresora.

¿Alquien tiene una idea sore la razón de que esto no funcione? He intentado localizar algún parámetro relacionado con el tema pero no lo he encontrado.

También he probado de cambiar la impresora predeterminada con el Set Printer pero tampoco funciona.
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:Selección impresora desde programa

Publicado por Isela (1 intervención) el 20/08/2008 20:28:30
Yo tengo un problema parecido al tuyo: tengo en la base de datos guardada las impresoras que utilizo y asigno los valores al objeto de Crystal Reports mediante PrinterSelect de la siguiente manera y el sistema siempre utiliza la impresora por defecto. Que estara pasando?

If atrib.SelPrinter = True Then
CrReporte.PrinterSetup 0
Else
CrReporte.SelectPrinter atrib.PrinterDevice, atrib.PrinterDriver, atrib.PrinterPort
End If
CrReporte.PrintOut False, CInt(atrib.Copies)

Te agradeceria mucho si pudieras ayudarme. Asi mismo espero que ya hayas resuelto tu problema.

mi correo es [email protected]
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