IMPRIMIR EM FOLHA CONTINUA

SAMUKA 07/07/2010 15:52:30
#346785
O Objeto printer tem muitos métodos e propriedades. Provavelmente a propriedade que configura o tamanho do papel está errada
MICHAELL 07/07/2010 16:43:47
#346793
no windows XP só tem como configurar a pagina via PRINT se for A4, carta..
nao tem como ser definido como eu quero

tentei assim: Printer.PaperSize = vbPRPSUser

ocorre erro. Propriedade invalida.

INFOSISTEMAS 07/07/2010 20:07:25
#346809
olha amigo usa o print mesmo, no teu caso como não tem tamanho definido. fica melhor !!
MICHAELL 07/07/2010 21:09:51
#346816
Citação:

:
olha amigo usa o print mesmo, no teu caso como não tem tamanho definido. fica melhor !!



tudo bem.. eu uso print.. sem problemas... o tamanho ai nao é problema..

mas ja expliquei que com print nao consigo fazer o que postei por ultimo...
ja expliquei varias vezes...hah.. mas ta complicado esse forum!!
MICHAELL 07/07/2010 21:11:10
#346817
NO BANCO DE DADOS TEM O SEGUINTE:
linha | coluna | desc_campo | campo_resultado
1 | 1 | Nome Cliente: | nome_cliente
2 | 1 | Endereço: | endereco_cliente
2 | 20 | Bairro: | bairro_cliente


VOU IMPRIMIR DESSA FORMA:
Print #1, Tab(TB!coluna) ; TB!desc_campo & [ô] [ô] & TB!campo_resultado;

se eu colocar um LOOP ele vai imprimir todos os campos na coluna certa, conforme o banco de dados.. mas nao na linha certa .. pois a cada PRINT ele avança uma linha
quero saber como tambem controlar a linha como se controla a coluna (TAB).. ou alguma gambiarra que de certo
SAMUKA 08/07/2010 00:10:00
#346823
MAICONJG, humildade não faz mal a ninguem .. e grosseria não leva ninguem a lugar nenhum

O XP não aceita formatar a folha através do PRINT. Vc precisa definir o tamanho personalizado dessa folha nas propriedades do servidor de impressão.

Não dá pra ser feito através de programação!!! é preciso definir manualmente o tamanho
MICHAELL 12/07/2010 15:36:57
#347109
mas até agora ninguem me deu uma resposta no qual realmente funcionaria...

com PRINT consigo programar, mas nao consigo controlar a linha...só as colunas
com PRINTER nao consigo configurar o tamanho da pagina...

realmente estou perdido. Nao sei qual usar.
Acabei de fazer tudo com PRINT, mas as LINHAS que o PRINT [Ô]Salta[Ô] é diferente das linhas do formulario... entao precisaria utilizar PRINTER..

mas como nao avançar tanto papel do final do formulario???
SAMUKA 12/07/2010 16:13:27
#347117
1º Vc PRINT é um método do objeto PRINTER, portanto 2 coisas diferentes

2º Acho que vc não está lendo as respostas

Pra posicionara correto, eu já falei antes pra usar CurrentX e CurrentY para cada campo que vc irá inserir no formulário

Sobre o tamanho da folha, eu já expliquei que o XP não aceita que isso seja feito através do PRINTER, é preciso definir um Papel no Servidor de Impressão da Impressora

Dê uma olhada nesse artigo do Macoratti, uma das melhores explicações sobre uso do objeto PRINTER:
http://www.macoratti.net/printer.htm

Eu utilizo o objeto PRINTER nos meus relatorios e layouts para Nota Fiscal
MICHAELL 12/07/2010 17:21:39
#347128
Citação:

:
1º Vc PRINT é um método do objeto PRINTER, portanto 2 coisas diferentes

2º Acho que vc não está lendo as respostas

Pra posicionara correto, eu já falei antes pra usar CurrentX e CurrentY para cada campo que vc irá inserir no formulário

Sobre o tamanho da folha, eu já expliquei que o XP não aceita que isso seja feito através do PRINTER, é preciso definir um Papel no Servidor de Impressão da Impressora

Dê uma olhada nesse artigo do Macoratti, uma das melhores explicações sobre uso do objeto PRINTER:
http://www.macoratti.net/printer.htm

Eu utilizo o objeto PRINTER nos meus relatorios e layouts para Nota Fiscal



1º - quando eu falo do PRINT nao estou me referindo ao objeto PRINTER (Printer.print)... eu me refiro impressao direta para a impressora (Print #1, [Ô][Ô])
2º - Estou lendo sim, todas as respostas, porem, o pessoal parece estar respondendo sem ler as duvidas, metade dos usuarios indica PRINT #1, e outra metade indica PRINTER.
3º - esse link do macoratti eu ja li todinho, inclusive no meu do artigo ele explica sobre Print #1,
4º - realmente com PRINT #1, nao achei maneira nenhuma de controlar a impressao, vou ter com printer.
5º - obrigado, e desculpe qualquer coisa
MICHAELL 20/07/2010 16:09:17
#347952
Bem, quero deixar aqui a solução de um dos problemas mais discutidos aqui no forum.

Muitos aqui, inclusive eu, ja tivemos a grande dificuldade com o objeto PRINTER.PRINT. Parece não existir uma maneira de configurar a impressora matricial para NÃO avançar a

folha demais no final da impressão, principalmente quando é utilizado folha de papel continua. No final da impressão, o papel avança exatamente o tamanho de uma folha A4. Então

voce troca o tipo de folha para CARTA e observa que não mudou absulutamente nada? sim, isso acontece.

Bem, existe sim uma solução, no qual encontrei na internet aos poucos e então montei um quebra cabeça.

1º - Antes de imprimir utilizando o objeto printer, voce deve primeiro escolher o tipo de escala = TWIPS.
Não adianta utilizar escala em centimetros, milimetros, polegadas, que não vai funcionar.
Exemplo: Printer.ScaleMode = vbTwips

2º - Voce deve definir o tamanho da folha nas propriedades width e height do objeto printer.
Exemplo: Printer.Width = 21.6 * 567 (multipliquei por 567, pois cada 567 twips equivale a 1cm)

3º - Voce deve criar no servidor de impressão do windows o tipo de formulário que voce deseja imprimir.
Para isso, faça o seguinte:
- Acesse painel de controle > impressoras
- Clique no menu arquivo > Propriedades do servidor
- Adicione um novo formulario e selecione nas propriedades da impressora
- Não se esqueça de clicar no botao Salvar Formulario.
- Existe limite minimo na altura, para que o formulario apareça nas propriedades da impressora. Dependendo do drive da impressora pode não aparecer se voce configurar

um papel for muito pequeno. Nesse caso deve-se tentar utiliza um outro drive.
- Se voce configurar um tamanho do papel menor que da impressão, a impressao ficará cortada

4º - Voce deve selecionar o formulario criado nas propriedades da impressora.
Para isso, faça o seguinte:
- Acesse painel de controle > impressoras
- Clique com o botao direto na impressora desejada > propriedades
- Acesse a guia Configuracoes do dispositivo e selecione o formulario criado
- Acesse a guia Geral > no botao Preferencia da impressao > guia Papel / Qualidade > no botao avançado e selecione o papel / formulario criado

5º - No final da impressão, antes de EndDoc, envie o comando de nova pagina. Dessa forma a impressora vai avançar até a proxima folha e ainda deixara um espaço para voce

destacar a folha. Quando voce mandar imprimir novamente, a impressora recolhe automaticamente o que deixou de espaçamento e começa a imprimir normalmente. Se voce nao informar

essa nova pagina, esse espaçamento não acontecerá. Exemplo: Printer.NewPage

Segue abaixo um exemplo:

Printer.ScaleMode = vbTwips
Printer.Width = 21.6 * 567 [ô] largura da folha
Printer.Height = 27.9 * 567 [ô] altura da folha
Printer.Print [Ô]Qualquer texto[Ô]
Printer.NewPage
Printer.EndDoc

Essa solução que postei, serve mais para aqueles que desejam imprimir em formulario continuo, pois deve-se definir o tamanho do papel.
Não consegui fazer por exemplo parar a impressão exatamente aonde termina a impressão, assim como funciona com o PRINT. Se alguem souber, poste ai pra nós.
Bem, espero ter ajudado e ajudar a muitos que terão essa mesma duvida.
Abraço a todos
Página 2 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas