Me pueden a ayudar con una impresión?, por favor

Ricardo
22 de Junio del 2006
Hola a todos, espero que estén bien. Pues miren tengo un problemilla que no he podido resolver a la hora de imprimir. Sucede que tengo el código que abajo presentaré, el problema es que la primera hoja me sale bien, pero ya cuando se salta a la siguiente hoja de impresión, ya no lo hace, es decir ya no quiere imprimir los registros siguientes. Espero me puedan ayudar y saludos.
Private Sub Command34_Click()
Dim intA As Long
Dim intCY As Long
On Error GoTo Error
txtTexto.Visible = False
IniciaImpresion
Printer.FontBold = True
'ImprimeTexto "PACIENTE: " & UCase(Trim(cmbPacientes.Text)), 200, 700
ImprimeTexto "FECHA: " & Format(Date, "dd/mm/yyyy"), 5000, 700
Printer.Line (100, 1000)-(12000, 1000), 0
ImprimeTexto "No", 200, 1200
ImprimeTexto "CHASIS", 900, 1200
ImprimeTexto "NOMBRE", 3500, 1200
ImprimeTexto "LADA", 8000, 1200
ImprimeTexto "TELEFONO", 9500, 1200
Printer.FontBold = False
intCY = 1500
For intA = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = intA
MSFlexGrid1.Col = 0
If Trim(MSFlexGrid1.Text) <> "" Then
ImprimeTexto Trim(MSFlexGrid1.Text), 250, intCY
MSFlexGrid1.Col = 1
If Trim(MSFlexGrid1.Text) <> "" Then ImprimeTexto UCase(Trim(MSFlexGrid1.Text)), 900, intCY
MSFlexGrid1.Col = 2
If Trim(MSFlexGrid1.Text) <> "" Then ImprimeTexto UCase(Trim(MSFlexGrid1.Text)), 2700, intCY
MSFlexGrid1.Col = 3
If Trim(MSFlexGrid1.Text) <> "" Then ImprimeTexto UCase(Trim(MSFlexGrid1.Text)), 8000, intCY
MSFlexGrid1.Col = 4
If Trim(MSFlexGrid1.Text) <> "" Then ImprimeTexto UCase(Trim(MSFlexGrid1.Text)), 9500, intCY
intCY = intCY + 250
End If
Next intA
Printer.EndDoc
Mensaje "Impresión realizada con éxito", "1"
Exit Sub
Error:
Mensaje "Impresión cancelada", "0"

End Sub
///
Public Sub ImprimeTexto(strTexto As String, intX As Long, intY As Long)
Printer.CurrentX = intX
Printer.CurrentY = intY
Printer.Print strTexto
End Sub
Public Sub IniciaImpresion()
frmmenu.Dialogo.CancelError = True
frmmenu.Dialogo.ShowPrinter
Printer.ColorMode = vbPRCMColor
Printer.FontName = "Times New Roman"
Printer.FontSize = "9"
Printer.ScaleMode = 1
End Sub
Public Sub Mensaje(strMensaje As String, strTipo As String)
If strTipo = "0" Then MsgBox strMensaje, vbCritical, "S"
If strTipo = "1" Then MsgBox strMensaje, vbInformation, "S"
End Sub

mena
22 de Junio del 2006
pues a simple vista te falta una instrucción que le indique a la impresora cuando empezar una nueva pagina yo pondria algo parecido a esto dentro del ciclo For:
if intCY>=7000 then
intCY=250
Printer.Newpage
endif