Hola estimados amigos
Tengo el siguiente Problema, en un form tengo un boton para imprimir con el siguiente codigo :
Private Sub Btnimprimir_Click()
Printer.ScaleMode = vbCentimeters
Printer.PaperSize = vbPRPSFolio
Printer.FontName = "COURIER NEW "
Printer.FontSize = 12
Printer.FontBold = True
Printer.CurrentX = 2.5
Printer.CurrentY = 2.5
Printer.Print NRO_CARGO
Printer.CurrentX = 1.5
Printer.CurrentY = 3.5
Printer.Print FE_CARGO
Printer.CurrentX = 1
Printer.CurrentY = 5.5
Printer.Print NOM
Printer.CurrentX = 11
Printer.CurrentY = 5.7
Printer.Print RUT
Printer.CurrentX = 1
Printer.CurrentY = 6.8
Printer.Print DIRE
Printer.CurrentX = 10
Printer.CurrentY = 6.8
Printer.Print CIU
Printer.CurrentX = 16
Printer.CurrentY = 2.2
Printer.Print DCTO
Printer.CurrentX = 17
Printer.CurrentY = 3.2
Printer.Print NRO_DCTO
Printer.CurrentX = 16.8
Printer.CurrentY = 4
Printer.Print FE_DCTO
Printer.CurrentX = 16.3
Printer.CurrentY = 15
Printer.Print CTA1
Printer.CurrentX = 17.7
Printer.CurrentY = 15
Printer.Print VAL_CTA1
Printer.CurrentX = 16.3
Printer.CurrentY = 15.8
Printer.Print CTA2
Printer.CurrentX = 17.7
Printer.CurrentY = 15.8
Printer.Print VAL_CTA2
Printer.CurrentX = 4.5
Printer.CurrentY = 21.7
Printer.Print RESOL
Printer.CurrentX = 8.5
Printer.CurrentY = 21.7
Printer.Print FE_RESOL
Printer.CurrentX = 17.7
Printer.CurrentY = 20.7
Printer.Print TOTAL
Printer.CurrentX = 13
Printer.CurrentY = 29
Printer.Print FUNCIONARIO
Printer.CurrentX = 1.5
Printer.CurrentY = 8.5
imprimeLineas MOTIVO, 70
Printer.EndDoc
End Sub
y en un modulo esta funcion para imprimir lo que contiene el TEXT MOTIVO, ya que este esta con propiedad mulltiline= True
Public Sub imprimeLineas(Texto As Object, Linea As Integer)
Dim Bloque As String
'Numero de caracteres = NumC
'Numero de Bloques = NumB
Dim I As Integer
Dim NumC, NumB As Integer
NumC = Len(Texto.Text)
If NumC > Linea Then
NumB = NumC \ Linea
For I = 0 To NumB
Texto.SelStart = (Linea * I)
Texto.SelLength = Linea
Bloque = Texto.SelText
Printer.Print Bloque
Next I
Else
Printer.Print Texto.Text
End If
Printer.EndDoc
End Sub
El problema se sucita que al imprimir el campo MOTIVO la primera linea lo hace respetando el margen asignado Printer.CurrentX = 1.5
Printer.CurrentY = 8.5
PERO AL IMPRIMIR LA SEGUNDA LINEA Y LAS SIGUIENTES SE DESCUADRA YA QUE EMPIEZA A IMPRIMIR CASI EN EL BORDE IZQUIERDO DE LA HOJA,
¿ Como lo puedo hacer para que me siga imprimiendo la 2da y posteriorers lineas con los margenes ya dados y nos se descuadre?
Si me pueden echar una manito
De antemano muchas gracias