Crystal Report - Seleccionar impresora Crystal Report 9

 
Vista:

Seleccionar impresora Crystal Report 9

Publicado por morgenes (33 intervenciones) el 16/05/2005 10:11:09
Hola a todos.

Tengo un problemilla a la hora de imprimir. Quiero imprimir dos informes desde codigo vb. la forma de imprimir es la siguiente

Dim CRApp As New CRAXDRT.Application
Dim CRReport As New CRAXDRT.Report

CRReport.PrinterSetup Me.hwnd
CRReport.PrintOut False

con esto consigo que me saque el cuadro de seleccionar impresora, y posteriormente el cuadro de imprimir numero de copias, pero ahora me gustaria que para el siguiente informe que tenga que imprimir no me muestre esos cuadros. es decir que tome la misma impresora que haya seleccionado anteriormente y el mismo numero de copias. Parece sencillo pero no consigo hacerlo.

el objeto crreport que he declarado trae una propiedad PrinterName pero esta es de solo lectura.

Segun tenia entendido el objeto crreport que declare toma la impresora por defecto de windows por lo que intente utilizar un objeto commondialog para seleccionar la impresora y el numero de copias, y guardar la impresora por defecto para que luego me lo tomara en la impresion del informe pero nada.

Alguien sabe la solucion?

Gracias por la ayuda.
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:Seleccionar impresora Crystal Report 9

Publicado por morgenes (33 intervenciones) el 17/05/2005 11:51:22
Me contesto a mi mismo en parte al menos.

Según he encontrado en este foro al cambiar la impresora por defecto de windows mediante el commondialog la impresion no me coge esa impresora ya que el informe tiene asignado una impresora por defecto y esa es la que toma independientemente de la de Windows.

Para quitar esa opción en el menu Archivo/Preparar Impresora le decimos que no hay impresora, y debe de tomar ahora si la que tenga por defecto Windows.

No lo he podido probar aun y además que no creo que utilice este método porque cambiar la impresora por defecto del usuario final no es lo más idoneo.

Sigo buscando la forma de hacerlo desde código visual basic sin tocar la impresora por defecto de Windows.

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:Seleccionar impresora Crystal Report 9

Publicado por Juan Alfredo (1 intervención) el 22/02/2006 11:24:34
Yo tambbién estoy buscando la solución a tu problema, ya que también lo tengo. He podido ver que la impresora que coge por defecto cuando se abre el informe en RPT, es la que se tenia cuando se creo el informe de crystal. O sea, la impresorá se guarda en el report de crystal.

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:Seleccionar impresora Crystal Report 9

Publicado por Gonzalo Suarez (1 intervención) el 14/08/2007 19:48:56
A mi me anda asi:

Listado.PrintOptions.PrinterName = "" El Nombre exacto como esta en windows, o el nombre exacto del recurso compartido ej: "\\antartida-001\HP LaserJet 5Si MX"

Listado.PrintOptions.PaperSource=104 El Codigo de bandeja es complicado de sacar. Yo lo que hago es tengo un programita que prueba de uno en uno hasta que salga por la Bandeja que quiero.
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:Seleccionar impresora Crystal Report 9

Publicado por Nestor Sanchez (1 intervención) el 24/03/2010 16:25:20
Sí hay manera de elegir la impresora para imprimir desde VB, este código está programado en el evento "PrintButtonClicked" del control "CRViewer9".

Private Sub crViewer_PrintButtonClicked(UseDefault As Boolean)
UseDefault = False
Dim controlador, impresora, puerto As String
On Error Resume Next
cd1.CancelError = True
'Muestra cuadro de diálogo de impresora:
cd1.ShowPrinter
'Si no marcó error:
If Err = 0 Then
'Al mostrar el cuadro de diálogo y elegir la impresora, los valores seleccionados en dicho cuadro de diálogo se almacenan en los datos del objeto de sistema '"Printer".
impresora = Printer.DeviceName
controlador = Printer.DriverName
'El MID es porque en la variable "Printer.Port" el sistema pone ":" al final, por eso el Mid.
puerto = Mid(Printer.Port, 1, Len(Printer.Port) - 1)
'Para seleccionar la impresora, se usa el método SelectPrinter del objeto CRAXDRT.Report.
crreport.SelectPrinter controlador, impresora, puerto
'El método PrintOut permite enviar la impresión directamente a la impresora.
crreport.PrintOut False, 1, , 1, 1
End If
Err = 0
End Sub

En el código anterior, si la variable userDefault se asigna en False no presenta el cuadro de impresión de Crystal Reports (Donde indica número de copias, rango de páginas e impresora que imprimirá el documento -En este cuadro de Crystal no es posible elegir la impresora, sino aparece la predeterminada del sistema-).

Si selecciona impresora, se asignan los valores de la impresora elegida al Crystal y voilá! listo Spero sea útil, 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