Hola Juan Francisco.
Bienvenido al foro y como te ha dicho el jefe supremo, no te vayas.
Voy a tratar de ayudarte en tu pregunta por el método más "asqueroso" que hay para generar informes que es el objeto printer.
Como te decía Chiaravel, lo mejor es utilizar un reporteador, pero si quieres trabajar un poco, ahí te va el rollo:
'Crea una constante como la siguiente
Const TW As Integer = 567 'Este valor viene a representar aproximadamente el valor de 1 cm en el papel
Dim Y as Integer
Printer.CurrentY = 5 * TW
Y=Printer.currentY 'almacenamos en esta variable el valor de Printer.CurrentY
Printer.Current x= 0.5 * TW
Printer.Print "TOTAL DE EFECTIVO $:"
'Cada vez que haces un Printer.Print el valor de Printer.CurrentY cambia para tomar el de la siguiente línea
'Tenemos que controlar que el valor de Y permanezca igual para que el texto, en este caso "TOTAL DE EFECTIVO $:"
'y el valor formateado Format(valEfe, "#,#0.00") estén en la misma línea, por ello es MUY IMPORTANTE que inmediatamente
'después de la instrucción Printer.Print anterior pongamos la siguiente instrucción
Printer.CurrentY = Y 'de este modo conseguiremos que el valor de Printer.CurrentY no se incremente,
'Supongamos que quieres que las cantidades queden alineadas a 20 cm del margen izquierdo:
Printer.CurrentX = 20 * TW - Printer.TextWidth(Format(valEfe, "#,#0.00"))
Printer.Print Format(valEfe, "#,#0.00")
Y=Printer.CurrentY 'recogemos el nuevo valor de Y para la siguiente línea
Printer.CurrentX = 0.5 * TW
Printer.Print "TOTAL CHEQUE $:"
Printer.CurrentY = Y 'forzamos que el valor de Printer,CurrentY no se incremente para un nueva línea, como te dije antes
Printer.CurrentX = 20 * TW - Printer.TextWidth(Format(valch, "#,#0.00"))
Printer.Print Format(valch, "#,#0.00")
Espero que no haya ningún error de sintáxis en las instrucciones, pués las he hecho con el block de notas y no las he comprobado en VB.
Si fuera así, me lo dices y lo arreglamos.
Ojalá te sea de utilidad.
Saludos
__________________
Miguel Peña
Santander - España
Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
|