
22/09/2008, 21:05
|
| | Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 17 años Puntos: 2 | |
Problemas con impresion ListView Hola gente!! como siempre recurro a uds cuando se me queman los papeles. Tengo esta rutina para imprimir un listado de un libro diario. Cuando lo imprimo los caracteres fijos salen perfectos, pero todo lo que son datos se me superponen.
Lo que me gustaria hacer es imprimir apaisado, pero a pesar que le puse el printer.orientation = 2 no pasa nada. A ver a quien se le ocurre algo porfi!!!
Sub diario()
On Error Resume Next
printer.orientation = 2
Printer.ScaleMode = 7
Printer.DrawStyle = 0
Printer.TrackDefault = True
Printer.Font.Name = "lucida console"
Printer.Font.Size = 14
Printer.FontBold = True
Printer.CurrentX = 1
Printer.CurrentY = 1
Printer.Print "LIBRO DIARIO"
Printer.Print " "
Printer.Font.Size = 8
Printer.FontBold = False
Printer.CurrentX = 1
Printer.Print frmdiario.lblnomempresa.Caption
Printer.CurrentX = 1
Printer.Print frmdiario.lbldir.Caption; Tab(20); frmdiario.lblcp.Caption; Tab(30); frmdiario.lblloc.Caption
Printer.CurrentX = 1
Printer.Line (1, 3)-(50, 3)
Printer.Print " "
Printer.CurrentX = 1
Printer.Print "DIARIO GENERAL"; Tab(30); "FECHA CIERRE EJERCICIO"; Tab(70); frmdiario.lblfechacierre.Caption
Printer.CurrentX = 1
Printer.Line (1, 4)-(50, 4)
Printer.CurrentX = 1
Printer.Line (1, 4.1)-(50, 4.1)
Printer.CurrentX = 1
Printer.Print " "
Printer.CurrentX = 1
Printer.Print "CANTIDAD DE REGISTROS"; Tab(30); frmdiario.lblcantreg.Caption
Printer.CurrentX = 10
Printer.CurrentY = 4.4
Printer.Print "TRANSPORTE"
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lbltted.Caption) + 4.6)
Printer.CurrentY = 4.4
Printer.Print frmdiario.lbltted.Caption
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lbltteh.Caption) + 1.1)
Printer.CurrentY = 4.4
Printer.Print frmdiario.lbltteh.Caption
Printer.CurrentX = 1
Printer.Line (1, 5)-(50, 5)
Printer.CurrentX = 1
Printer.Print " "
Printer.CurrentX = 1.9
Printer.CurrentY = 5.2
Printer.Print "AS"
Printer.CurrentX = 2.7
Printer.CurrentY = 5.2
Printer.Print "CTA"
Printer.CurrentX = 3.6
Printer.CurrentY = 5.2
Printer.Print "NOMBRE"
Printer.CurrentX = 7.5
Printer.CurrentY = 5.2
Printer.Print "SU"
Printer.CurrentX = 8
Printer.CurrentY = 5.2
Printer.Print "SE"
Printer.CurrentX = 8.5
Printer.CurrentY = 5.2
Printer.Print "F.OPE."
Printer.CurrentX = 10.5
Printer.CurrentY = 5.2
Printer.Print "LEYENDA"
Printer.CurrentX = 14.5
Printer.CurrentY = 5.2
Printer.Print "DEBE"
Printer.CurrentX = 18
Printer.CurrentY = 5.2
Printer.Print "HABER"
Printer.CurrentX = 1
Printer.Print " "
Printer.Line (1, 5.5)-(50, 5.5)
cant = frmdiario.lv.ListItems.Count
y = 60
Printer.ScaleMode = vbMillimeters
na = frmdiario.lv.ListItems.item(1).SubItems(1)
For i = 1 To cant
If i = 1 Then
Printer.CurrentX = 10
Printer.CurrentY = y
Printer.Print "------------------------------ ASIENTO " & frmdiario.lv.ListItems.item(i).SubItems(1) & " FECHA OPERACION " & frmdiario.lv.ListItems.item(i).SubItems(6) & " --------------------------------"
y = y + 3
End If
Printer.CurrentX = 10
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems(i).Text
Printer.CurrentX = 19
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(1)
Printer.CurrentX = 27
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(2)
Printer.CurrentX = 36
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(3)
Printer.CurrentX = 75
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(4)
Printer.CurrentX = 80
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(5)
Printer.CurrentX = 84
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(6)
Printer.CurrentX = 105
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(7)
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lv.ListItems.item(i). SubItems(8)) + 46)
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(8)
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lv.ListItems.item(i). SubItems(9)) + 11)
Printer.CurrentY = y
Printer.Print frmdiario.lv.ListItems.item(i).SubItems(9)
y = y + 3
ns = frmdiario.lv.ListItems.item(i + 1).SubItems(1)
If na <> ns Then
Printer.CurrentX = 10
Printer.CurrentY = y
Printer.Print "------------------------------ ASIENTO " & frmdiario.lv.ListItems.item(i + 1).SubItems(1) & " FECHA OPERACION " & frmdiario.lv.ListItems.item(i).SubItems(6) & " --------------------------------"
y = y + 3
na = frmdiario.lv.ListItems.item(i + 1).SubItems(1)
Else
na = frmdiario.lv.ListItems.item(i + 1).SubItems(1)
End If
Next i
Printer.ScaleMode = 7
Printer.DrawStyle = 2
y = y / 10
Printer.Line (1, y + 0.2)-(50, y + 0.2)
Printer.CurrentX = 1
Printer.Print " "
Printer.CurrentX = 1
Printer.Print "CANTIDAD DE REGISTROS"; Tab(30); frmdiario.lblcantreg1.Caption
Printer.CurrentX = 10
Printer.CurrentY = y + 0.5
Printer.Print "TRANSPORTE"
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lbltted1.Caption) + 4.6)
Printer.CurrentY = y + 0.5
Printer.Print frmdiario.lbltted1.Caption
Printer.CurrentX = Printer.ScaleWidth - (Printer.TextWidth(frmdiario.lbltteh1.Caption) + 1.1)
Printer.CurrentY = y + 0.5
Printer.Print frmdiario.lbltteh1.Caption
Printer.CurrentX = 1
Printer.Line (1, y + 1)-(50, y + 1)
Printer.CurrentX = 1
Printer.Line (1, y + 1.2)-(50, y + 1.2)
Printer.EndDoc
End Sub |