SALTAR LINHAR EM BRANCO USANDO O PRINTER

WEBIER 31/12/2010 10:37:48
#360769
estou com um problema em saltar (linhas em branco) no final da impressão de um cupom de venda.

Open [Ô]\\SERVIDOR    ermica[Ô] For Output As #1

With Printer
.ScaleMode = vbPixels

.PaintPicture imLogoCupom.Picture, 100, 0, 372, 150

For f = 1 To 6
Printer.Print [Ô] [Ô]
Next f

.ScaleMode = vbCentimeters
.FontName = [Ô]courier new[Ô]
[ô].PrintQuality = vbPRPQHigh

Fonte 8, False, False
Printer.Print String(40, [Ô]-[Ô])
Fonte 10, True, False
Printer.Print Tab((35 - Len(RS_Empresa!FANTASIA)) / 2); RS_Empresa!FANTASIA [ô]Esse /2 é p/ centralizar
Fonte 10, False, False
Printer.Print Tab((35 - Len(RS_Empresa!RAZAO)) / 2); RS_Empresa!RAZAO
Fonte 8, False, False
Printer.Print RS_Empresa!ENDERECO & [Ô], [Ô] & RS_Empresa!cidade & [Ô]-[Ô] & RS_Empresa!estado
Printer.Print [Ô]FONE: [Ô]; RS_Empresa!TELEFONE
Fonte 8, False, False
Printer.Print [Ô]CNPJ:[Ô]; RS_Empresa!CNPJ & [Ô] IE:[Ô] & RS_Empresa!IE
Printer.Print [Ô] [Ô]

Fonte 10, True, False
Printer.Print Tab(10); [Ô]CUPOM DE VENDA[Ô]

Fonte 8, False, False
Printer.Print Tab(2); Format(Date, [Ô]dd/mm/yy[Ô]); [Ô] [Ô]; Format(Time, [Ô]hh:mm[Ô]); [Ô] [Ô]; [Ô]CÓD:[Ô]; Format(txtCodPedido.Text, [Ô]000000[Ô]); rsFunc!NOME

Fonte 8, False, False
Printer.Print String(40, [Ô]-[Ô])
Printer.Print Tab(0); [Ô]DESCRIÇÃO[Ô];
Printer.Print Tab(20); [Ô]PREÇO[Ô];
Printer.Print Tab(26); [Ô]QTDE[Ô];
Printer.Print Tab(35); [Ô]TOTAL[Ô]
Printer.Print String(40, [Ô]-[Ô])

Call ABRIR_BD2
SQL = [Ô]SELECT CODIGO, COD_PEDIDO, DESCRICAO, PRECO, QUANTIDADE, TOTAL FROM PEDIDOS_ITENS WHERE COD_PEDIDO = [Ô] & txtCodPedido.Text & [Ô] ORDER BY CODIGO DESC[Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)

RS.MoveFirst [ô]movimenta o ponteiro para o primeiro registro

Do While Not RS.EOF [ô]

[ô]---------------imprime os dados da tabela----------------------------
Printer.Print Tab(0); RS([Ô]DESCRICAO[Ô]);
Printer.Print Tab(19); Format$(Format$(RS([Ô]PRECO[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô]);
Printer.Print Tab(26); Format$(Format$(RS([Ô]QUANTIDADE[Ô]), [Ô]0.000[Ô]), [Ô]@@@@@@@[Ô]);
Printer.Print Tab(33); Format$(Format$(RS([Ô]TOTAL[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô])

RS.MoveNext [ô]vai para o proximo registro

Loop

Printer.Print String(40, [Ô]-[Ô])

Fonte 8, False, False
Printer.Print Tab(0); Tab(20); [Ô]Total: [Ô];

Fonte 10, True, False
Printer.Print Tab(25); Format$(Format$(txtTotalGeral.Text, [Ô]0.00[Ô]), [Ô]@@@@@@@@[Ô])

Printer.Print

Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô])) / 2); [Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô]
Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]Obrigado pela preferência[Ô])) / 2); [Ô]Obrigado pela preferência[Ô]

For f = 1 To 4
Printer.Print [Ô] [Ô]
Next f

Printer.Print Tab((60 - Len([Ô]____________________________________________[Ô])) / 2); [Ô]____________________________________________[Ô]
Printer.Print Tab((60 - Len(cboCliente.Text)) / 2); cboCliente.Text
Printer.Print Tab((60 - Len([Ô]VENCIMENTO:[Ô] & mskInicio.Text)) / 2); mskInicio.Text


For f = 1 To 10
Printer.Print [Ô] [Ô]
Next f

Close #1
.EndDoc
rsPedidos.Close
rsFunc.Close
RS.Close
BD.Close
End With


coloquei esse:
For f = 1 To 10
Printer.Print [Ô] [Ô]
Next f


para pular 10 linhas no final do cupom, mas nao tah pulando!
ACG1574 31/12/2010 11:21:06
#360772
Resposta escolhida
For f = 1 To 10
Print [Ô] [Ô]
Next f
ACG1574 31/12/2010 11:23:06
#360773
passei sintaxe errada é assim:

Print #1, [Ô][Ô]
MARCELO.TREZE 31/12/2010 12:08:22
#360779
sabe o que eu acho engraçado é que vc declara o printer no with para facilitar, mas mesmo assim continua escrvendo o printer, o que pode estar ocasionando o seu erro, tente isto


Open [Ô]\\SERVIDOR    ermica[Ô] For Output As #1

With Printer
.ScaleMode = vbPixels

.PaintPicture imLogoCupom.Picture, 100, 0, 372, 150

For f = 1 To 6
.Print [Ô][Ô]
Next f

.ScaleMode = vbCentimeters
.FontName = [Ô]courier new[Ô]
[ô].PrintQuality = vbPRPQHigh

Fonte 8, False, False
.Print String(40, [Ô]-[Ô])
Fonte 10, True, False
.Print Tab((35 - Len(RS_Empresa!FANTASIA)) / 2); RS_Empresa!FANTASIA [ô]Esse /2 é p/ centralizar
Fonte 10, False, False
.Print Tab((35 - Len(RS_Empresa!RAZAO)) / 2); RS_Empresa!RAZAO
Fonte 8, False, False
.Print RS_Empresa!ENDERECO & [Ô], [Ô] & RS_Empresa!cidade & [Ô]-[Ô] & RS_Empresa!estado
.Print [Ô]FONE: [Ô]; RS_Empresa!TELEFONE
Fonte 8, False, False
.Print [Ô]CNPJ:[Ô]; RS_Empresa!CNPJ & [Ô] IE:[Ô] & RS_Empresa!IE
.Print [Ô] [Ô]

Fonte 10, True, False
.Print Tab(10); [Ô]CUPOM DE VENDA[Ô]

Fonte 8, False, False
.Print Tab(2); Format(Date, [Ô]dd/mm/yy[Ô]); [Ô] [Ô]; Format(Time, [Ô]hh:mm[Ô]); [Ô] [Ô]; [Ô]CÓD:[Ô]; Format(txtCodPedido.Text, [Ô]000000[Ô]); rsFunc!NOME

Fonte 8, False, False
.Print String(40, [Ô]-[Ô])
.Print Tab(0); [Ô]DESCRIÇÃO[Ô];
.Print Tab(20); [Ô]PREÇO[Ô];
.Print Tab(26); [Ô]QTDE[Ô];
.Print Tab(35); [Ô]TOTAL[Ô]
.Print String(40, [Ô]-[Ô])

Call ABRIR_BD2
SQL = [Ô]SELECT CODIGO, COD_PEDIDO, DESCRICAO, PRECO, QUANTIDADE, TOTAL FROM PEDIDOS_ITENS WHERE COD_PEDIDO = [Ô] & txtCodPedido.Text & [Ô] ORDER BY CODIGO DESC[Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)

RS.MoveFirst [ô]movimenta o ponteiro para o primeiro registro

Do While Not RS.EOF [ô]

[ô]---------------imprime os dados da tabela----------------------------
.Print Tab(0); RS([Ô]DESCRICAO[Ô]);
.Print Tab(19); Format$(Format$(RS([Ô]PRECO[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô]);
.Print Tab(26); Format$(Format$(RS([Ô]QUANTIDADE[Ô]), [Ô]0.000[Ô]), [Ô]@@@@@@@[Ô]);
.Print Tab(33); Format$(Format$(RS([Ô]TOTAL[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô])

RS.MoveNext [ô]vai para o proximo registro

Loop

.Print String(40, [Ô]-[Ô])

Fonte 8, False, False
.Print Tab(0); Tab(20); [Ô]Total: [Ô];

Fonte 10, True, False
.Print Tab(25); Format$(Format$(txtTotalGeral.Text, [Ô]0.00[Ô]), [Ô]@@@@@@@@[Ô])

.Print

Fonte 8, False, False
.Print Tab((40 - Len([Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô])) / 2); [Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô]
Fonte 8, False, False
.Print Tab((40 - Len([Ô]Obrigado pela preferência[Ô])) / 2); [Ô]Obrigado pela preferência[Ô]

For f = 1 To 4
.Print [Ô][Ô]
Next f

.Print Tab((60 - Len([Ô]____________________________________________[Ô])) / 2); [Ô]____________________________________________[Ô]
.Print Tab((60 - Len(cboCliente.Text)) / 2); cboCliente.Text
.Print Tab((60 - Len([Ô]VENCIMENTO:[Ô] & mskInicio.Text)) / 2); mskInicio.Text


For f = 1 To 10
.Print [Ô] [Ô]
Next f

Close #1
.EndDoc
rsPedidos.Close
rsFunc.Close
RS.Close
BD.Close
End With


teste agora

MITSUEDA 31/12/2010 12:28:46
#360781
Saudações,

Caso queria uma nova opção:

For f = 1 To 10
.Print vbCrLf
Next f

Abraço
Tópico encerrado , respostas não são mais permitidas