USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  printer.print
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 12/07/2006 11:15 hs            
Quando voce utiliza o Currentx e currenty voce não utiliza o tab
exemplo:
    Do While Not produto.EOF
    If linha = "1" Then
    Cabeçalho
    End If
    Printer.CurrentX = 1.5
    printer.currenty=linha*0.6
    Printer.Print Left(produto("COD PROD"), 12)
    Printer.CurrentX = 4
    printer.currenty=linha*0.6
    Printer.Print Left(produto("DESCR"), 26)
    linha = linha + 1
    produto.MoveNext
    If linha >= 50 Then
    Printer.NewPage
 
 
ATENÇÃO ADAPTEI APENAS UMA PARTE DO SEU CODIGO
 

dsmn
     
Sandro
não registrado
ENUNCIADA !
Postada em 12/07/2006 11:38 hs   
André,
 
fontSize é uma propriedade numérica, assim você não pode usar aspas para envolver o número. use assim:
 
Printer.FontSize = 9.5   '<- note que se usa ponto e não vírgula, pois o Vb usa o sistema americano
 
Outra coisa, você chega a usar Tab(128), talvez a sua linha esteja muito grande, por isso a impressora pode estar saltando uma linha a mais entre uma linha de impressão e outra.
 
um abraço,
Sandro.
   
Maha
SÃO PAULO
SP - BRASIL
Postada em 12/07/2006 12:01 hs            
André outra coisa que percebi no seu código.
Linha=1 -> tire as aspas isto é uma variável númerica
se vc está utilizando um contador para quantidades de linhas não precisa declarar o tamanho da folha na propriedade printer.papersize
Você pode utiliza o metodo TAB mas verifica se o tamanho da linha não está explodindo o tamanho da impressão, por isso gera uma nova linha como disse o sandro.
 
Abraço,

Saúde e Paz, o resto... trabalhando vem!!!

"Se um dia a vida lhe der as costas, passe a mão na bunda dela!!!"

     
andre
DIVINÓPOLIS
MG - BRASIL
Postada em 12/07/2006 14:57 hs            
Grande parte está resolvida. Mas:
1º=> Minha caixa de diálogo antes da impressão não deixa disponivel a parte de selecionar qual a folha a ser impressa. O que posso fazer, pois tenho que deixar de alguma forma, a alternativa de imprimir somente uma pagina a criterio do usuario?
2º=> o comando left conta os caracteres, tem como eu limitar um campo de impressão atraves de medida?
3º=> minha folha continua não imprimindo até o fim. Vejam o que há de errado:
 
Private Sub Command9_Click()
   
    'mostra a janela para impressora
    CommonDialog1.ShowPrinter
   
    Dim bancodados As Database
    Dim produto As Recordset
    Dim linha As Integer
    linha = 1
    Set bancodados = OpenDatabase("D:Meus DocumentosOutrosVisual BasicTabelasMatriz.mdb")
    Set produto = bancodados.OpenRecordset("Produto", dbOpenTable)
    produto.Index = "DESCR"
    Printer.FontName = "Arial"
    Printer.FontSize = 9.5
    Printer.ScaleMode = 6
    Printer.ScaleHeight = 280
    Printer.ScaleWidth = 240
    Do While Not produto.EOF
    If linha = 1 Then
    Cabeçalho
    Cabeçalho2
    End If
       
    Printer.Print Tab(1.5); Left(produto("COD PROD"), 12); Tab(19); Left(produto("UND"), 2); Tab(24); Left(produto("DESCR"), 26); Tab(70); Left(produto("APLICAC"), 26); Tab(116); Left(produto("PRECO VEND"), 9); Tab(128); Left(produto("FABRICANTE"), 20)
   
    linha = linha + 1
    produto.MoveNext
    If linha >= 60 Then
    Printer.Print
    Printer.Print
    Printer.Print Tab(52); "Página"; Printer.Page
    Printer.NewPage
    linha = 1
    End If
   
    Loop
    Printer.EndDoc
    produto.Close
    bancodados.Close
End Sub
Private Function Cabeçalho()
       
    Printer.Print
    Printer.Print
    Printer.Print Format(Now, "long time"); Tab(48); "Lista de Preços"; Tab(130); Format(Now, "short date")
    Printer.Print
    Printer.Print
End Function
Private Function Cabeçalho2()
   
    Printer.Print Tab(1.5); "Código"; Tab(19); "Un"; Tab(24); "Descrição"; Tab(70); "Aplicação"; Tab(116); "Preço"; Tab(128); "Fabric"
    Printer.Print
End Function
 
O que está errado? Já aumentei o Printer.ScaleWidth, já aumentei o left do fabricante...
OBS: Fiz dois cabeçalhos pois quero que cada um seja impresso com uma configuração diferente. O primeiro quero que fique com font 10, e negrito. O segundo font 10, e sublinhado. Quando tentei fazer isto, as configuraçoes interfiriram na impressao dos registros.
TÓPICO EDITADO
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página