Orientazion de papel

HOLA
Estoy empezando a programa con visual basic tengo al rededo de 1 año, he realizado 2 programa con el.
Tengo un problema al imprimir un reporte con los archivos de crystal report
Tengo un archivo hecho con crystal report 7, la orientación del papel le dije horizontal, pero al imprimir en visual basic no me deja ni cambiar a otra impresora ni la orientación del papel de dicho reporte realizado con crystal report.
Como puedo hacer con digo visual basic y cambiar la orientación de dicho reporte
De hecho he hecho este código y no funciona:
'driverimpresora, portimpresora son funcionas que yo me he realizado
' este seria el codigo normal para imprimir pero no funciona
' nombre de archivo de reporte
crNombreControlCrystal.ReportFileName = App.Path & "\ReporteCrystal.RPT"
' cambiar de impresora si se eligio una diferente de la predeterminada de
'windows, pero aveces lo selecciona y veces no
crNombreControlCrystal.PrinterName = cmbImpresora
' cambiar el controlador segun la impresora seleccionada
crNombreControlCrystal.PrinterDriver = (DriverImpresora(cmbImpresora) & ".DRV")
' obtener el puerto de impresora segun la seleccionada
crNombreControlCrystal.PrinterPort = PortImpresora(cmbImpresora, True)
' ruta del archivo de datos a imprimir
crNombreControlCrystal.DataFiles(0) = (cPathDb & contBaseDatos)
' modificar las formulas del reporte
crNombreControlCrystal.Formulas(1) = "EMPRESA='" & DecodificarCadena(rstCia![RazonSocial]) & "'"
crNombreControlCrystal.Formulas(2) = "LEYENDA='Catálogo de unidades de medida al día " & Format(Date, "Long Date") & "'"
' asignar valores a las propiedades de control ActiveX de crystal report
crNombreControlCrystal.CopiesToPrinter = Val(txtCopias)
crNombreControlCrystal.PrinterCopies = Val(txtCopias)
If optIntervalo(1) = True Then
crNombreControlCrystal.PrinterStartPage = Val(txtPagIni)
crNombreControlCrystal.PrinterStopPage = Val(txtPagFin)
Else
crNombreControlCrystal.PrinterStartPage = 0
crNombreControlCrystal.PrinterStopPage = 0
End If
' Imprimir el reporte, tambien lo he hecho con la propiedad .Action = 0
If crNombreControlCrystal.PrintReport <> 0 Then
Err.Number = crNombreControlCrystal.LastErrorNumber
Err.Description = crNombreControlCrystal.LastErrorString
GoTo ErrbtnAceptar_Click
End If
El código anterior lo hice haci y no sale la impresión como te indique anteriormen entonces obte por realizar este procedimiento pero tampoco lo realiza
' le agrege este codigo antes del if crnombrecontrolcrystal.printerreport <> 0 then
'pero tampoco funciono
with printer
a cad propiedad le agrege sus correspondientes valores
.DeviceName = nombre impresora
.DriverName = controlador de impresora
.Port = puerto en el que se imprimira
.orientation = valor para imprimir en forma horizontal o vertical
end with
1

1 Respuesta

11.050 pts.
Soy enemigo de dar este tipo de respuestas, pero si deberás quieres ser soportado por Microsoft, debes cambiar al ReportDesigner que viene con VB6
Es cierto, Crystal es "tan inteligente" que a veces vas a poder darle opciones y que las acate y a veces no, dependiendo de las condiciones en las que quieras usarlo.
Si decides seguir con Crystal, checa la base de datos del conocimieno que tiene en su página web, en la cual vas a encontrar soluciones, tips y hasta trucos.
A Tu Servicio
JLReyes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas