QUEBRAR LINHA NO PRINTER
Como faço para quebrar linha com o printer ???
Quando vc da um Printer.Print "Texto". Ele automaticament já realiza uma quebra de linha.
Mas para um controle melhor da página, podemos trabalhar como se fosse um plano cartesiano, indicando as coordenadas X e Y.
X = Posição na Horizontal.
Y = Posição na vertical.
Ex.:
Mas para um controle melhor da página, podemos trabalhar como se fosse um plano cartesiano, indicando as coordenadas X e Y.
X = Posição na Horizontal.
Y = Posição na vertical.
Ex.:
Printer.CurrentX = 3000
Printer.CurrentY = 5000
Printer.Print "Marcelo"
Printer.CurrentX = Printer.CurrentX + 200
Printer.Print "Faustino"
Marcelo, o texto que preciso imprimir é muito grande e não quebra linha
ex.:
"Printer.print tab(10); data1.recordset.fields("OBSERVACAO")"
onde o campo "OBSERVACAO" é do tipo memorando do access!
ex.:
"Printer.print tab(10); data1.recordset.fields("OBSERVACAO")"
onde o campo "OBSERVACAO" é do tipo memorando do access!
Ahhhhhhh.. agora entendi!!
Não tinha entendido que era isso... Disfarça...rsrs
Realmente cara... Não quebra linha não, vc vai precisar fazer isso na mão...
Exemplo:
Pensando que vc usa o CurrentX.....
Não testei, mas ve se a lógica ajuda em algo.
Não tinha entendido que era isso... Disfarça...rsrs
Realmente cara... Não quebra linha não, vc vai precisar fazer isso na mão...
Exemplo:
Pensando que vc usa o CurrentX.....
MargemDireita = 1000
If Printer.TextWidth(data1.recordset.fields("OBSERVACAO")") + Printer.CurrentX > Printer.Width - MargemDireita Then
'Significa que vai passar da folha, temos que realizar a quebra de linha
EspacoLivre = Printer.CurrentX > Printer.Width - (MargemDireita + Printer.TextWidth(data1.recordset.fields("OBSERVACAO")") + Printer.CurrentX)
TamanhoTexto = Printer.TextWidth(data1.recordset.fields("OBSERVACAO")")
Texto = data1.recordset.fields("OBSERVACAO")")
UltimaPosicao = 1
For i = 1 to ((TamanhoTexto - (TamanhoTexto Mod EspacoLivre)) / EspacoLivre) + 1
For i = 1 to Len(TamanhoTexto)
if Printer.TextWidht(Mid(Texto, UltimaPosicao, i)) >= EspacoLivre then
Printer.Print Mid(Texto,UltimaPosicao,i - 1)
UltimaPosicao = UltimaPosicao + i - 1
End if
Next
Next
End If
Não testei, mas ve se a lógica ajuda em algo.
da uma olhada nesse exemplo...
vc passa a string e ele imprimir justificado..
vc passa a string e ele imprimir justificado..
Tópico encerrado , respostas não são mais permitidas