TAMANHO DO FORMULARIO PRINTER

HUELBERT 06/09/2012 14:48:13
#409268
Galera

Tenho uma impressão de boleto da caixa, aqueles boletos pequenos com formulário 3 vias, funciona mas é o seguinte:
* primeiro tenho que configurar um formulário no pc onde está instalado a impressora que vai ser impresso os boletos
* depois verificar o código do formulário e colocar o mesmo num arquivo ini
* depois antes da impressão da impressão do boleto, no comando Printer.PaperSize = [Ô]código do formulário[Ô]

Isso quando o pc onde está instalada a impressora é XP funciona perfeitamente, agora quando é win 7 toda vez que reinicia o pc pede a configuração do formulário.
Tenho interesse em configurar o tamanho da página pelo vb mesmo para nem precisar de configurar o formulário dentro do pc onde vou imprimir.
Tentei de tudo mas não obtive resultado, se alguém souber por favor posta ai.

Altura = 10.20 cm
Largura = 16.90 cm

Até
MARCELO.TREZE 10/09/2012 13:25:57
#409366
Resposta escolhida
posta seu código de impressão colega para podermos ajudar.

HUELBERT 10/09/2012 13:40:46
#409368
IMPBOL = variável onde seto o código do formulário que criei para a impressora.

Configuração do formulário:

Nome: Boleto
Largura: 16,90 cm
Altura: 10,20 cm

Código abaixo:

      For X = 1 To RS2.RecordCount
Printer.PaperSize = IMPBOL
Printer.ScaleMode = vbCentimeters
Printer.FontName = [Ô]draft 20cpi[Ô]

Printer.CurrentY = 0.4
Printer.CurrentX = 13
Printer.Print RS2(2)

Printer.CurrentY = 2
Printer.CurrentX = 0.5
Printer.Print RS2(1)

Printer.CurrentY = 2
Printer.CurrentX = 3.5
Printer.Print RS2(0)

Printer.CurrentY = 2.55
Printer.CurrentX = 13.7
Printer.Print [Ô]R$ [Ô] & Format(RS2(3), [Ô]###,##0.00[Ô])

Printer.CurrentY = 3.5
Printer.CurrentX = 0.5
Printer.Print [Ô]Importancia por dia de atraso R$ [Ô] & Format(RS2(4), [Ô]###,##0.00[Ô])

Printer.CurrentY = 3.9
Printer.CurrentX = 0.5
Printer.Print [Ô]Nao dispensar juros de mora,[Ô]
Printer.CurrentX = 0.5
Printer.Print [Ô]nem mesmo condicionalmente[Ô]

Printer.CurrentY = 4.7
Printer.CurrentX = 0.5
Printer.Print [Ô]Sujeito a protesto apos 5 dia do vencimento[Ô]
Printer.CurrentX = 0.5
Printer.Print [Ô]VALORES EXPRESSOS EM REAIS[Ô]

Printer.CurrentY = 5.65
Printer.CurrentX = 0.5
Printer.Print [Ô]FONE: [Ô] & Format(txtfone, [Ô]##[Ô][Ô]-[Ô][Ô]####[Ô][Ô]-[Ô][Ô]####[Ô]) & [Ô] - [Ô] & RS2(1) & [Ô] - [Ô] & RS2(0) & [Ô] - [Ô] & [Ô]R$ [Ô] & Format(RS2(3), [Ô]###,##0.00[Ô])

Printer.CurrentY = 6.3
Printer.CurrentX = 1.5
Printer.Print txtrazao; Spc(5); [Ô]Cod.: [Ô] & TXTCODCLI

Printer.CurrentY = 6.6
Printer.CurrentX = 1.5
Printer.Print txtend

Printer.CurrentY = 6.9
Printer.CurrentX = 1.5
Printer.Print txtcidade & [Ô] - [Ô] & txtuf & [Ô] - [Ô] & [Ô]CEP: [Ô] & Format(txtcep, [Ô]#####[Ô][Ô]-[Ô][Ô]##[Ô]) & [Ô] - [Ô] & [Ô]Fone: [Ô] & Format(txtfone, [Ô]##[Ô][Ô]-[Ô][Ô]####[Ô][Ô]-[Ô][Ô]####[Ô])

Printer.CurrentY = 7.2
Printer.CurrentX = 1.5
If Len(txtcpfcnpj) = 11 Then
Printer.Print [Ô]CPF/CNPJ : [Ô] & Format(txtcpfcnpj, [Ô]###[Ô][Ô].[Ô][Ô]###[Ô][Ô].[Ô][Ô]###[Ô][Ô]-[Ô][Ô]##[Ô]) & [Ô] INSC. EST.: [Ô] & txtinsc
ElseIf Len(txtcpfcnpj) = 14 Then
Printer.Print [Ô]CPF/CNPJ : [Ô] & Format(txtcpfcnpj, [Ô]##[Ô][Ô].[Ô][Ô]###[Ô][Ô].[Ô][Ô]###[Ô][Ô]/[Ô][Ô]####[Ô][Ô]-[Ô][Ô]##[Ô]) & [Ô] INSC. EST.: [Ô] & txtinsc
End If

Printer.EndDoc
RS2.MoveNext
Next X
HUELBERT 11/09/2012 09:55:23
#409408
Não tem como setar o largura e altura do formulário pelo código?
MARCELO.TREZE 11/09/2012 10:10:20
#409413
é estranho HUELBERT da maneira que vc está fazendo supostamente deveria funcionar

pergunta: qual é o código de IMPBOL


HUELBERT 11/09/2012 10:54:41
#409416
O código é 119, 120, ... isso depende da quantidade de formulários que cadastrei no pc onde está a impressora.
O certo era colocar a altura e largura fixo no código.
Já tentei utilizar

Printer.PaperSize = 256
Printer.ScaleMode = vbCentimeters
Printer.Width = 16.9
Printer.Height = 10.2

Mas dá erro na primeira linha, erro 380 Invalid property value
MARCELO.TREZE 11/09/2012 11:19:57
#409423
tire a primeira linha e automáticamente a pagina ser vbPRPSUser, porém não tenho certeza que isto resolverá o problema.

teste ai e diga como fica
HUELBERT 11/09/2012 11:42:37
#409427
Não resolveu...imprime como A4 se imprimir dois boletos imprime em duas folhas.
MARCELO.TREZE 11/09/2012 12:07:24
#409433
certa vez vi algumas pessoas com este problema e encontrei um codigo com modulo que resolvia este problema (não testei)

veja o mesmo e faça alguns testes pra ver se resolve pra vc

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