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

 

  Dicas

  Visual Basic    (Impressões/Impressoras)

Título da Dica:  Objeto Printer - (10 dicas muito úteis para uma boa impressão)
Postada em 3/11/2004 por Josefh Hennyere         
As dicas abaixo referem-se ao objeto Printer. Você não precisa fazer nenhuma referência para usá-lo no seu projeto.

1- Imprimir um texto em uma posição específica

Private Sub Command1_Click()
' este exemplo irá imprimir Unicom na coordenada 100,300
    Printer.CurrentX = 100
    Printer.CurrentY = 300
    Printer.Print "Unicom"
' O comando EndDoc envia o texto para a impressora
    Printer.EndDoc
End Sub

2- Imprimir um texto com alinhamento específico

Public Sub ImprimeTextoAlinhado(texto As String, Alignment As String)
    Select Case Alignment
    Case "Centro"
        Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(texto))  2
    Case "Esquerda"
        Printer.CurrentX = 0
    Case "Direita"
        Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(texto)
    End Select
    Printer.Print texto
    Printer.EndDoc
End Sub
Private Sub Command1_Click()
   'Para escolher o alinhamento informe ("Centro", "Esquerda" ou "Direita")
   Call ImprimeTextoAlinhado("Josefh Hennyere", "Centro")
End Sub


3- Imprimir uma linha

Public Sub ImprimeLinha(Largura As Single)
    Printer.Line (0, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY + largura), , BF
     Printer.EndDoc
End Sub

Private Sub Command1_Click()
    ' 40 indica a largura da linha
    ImprimeLinha (40)
End Sub

4- Imprimir o texto em um controle RichTextBox (não imprime figuras)

Private Sub Command1_Click()
    Call RichTextBox1.SelPrint(Printer.hdc)
End Sub  

5- Imprimir um arquivo texto

Para testar o código , no formulário inclua uma caixa de texto com a propriedade Multiline definida como True.
Neste exemplo estou imprimindo o arquivo autoexec.bat

Private Sub Form_Load()
   Dim file As String
    file = "c:autoexec.bat"
    Open file For Input As #1
    Text1.Text = Input(LOF(1), #1)
    Close
    Printer.Print Text1.Text
    Printer.EndDoc

End Sub


6- Verificar se a impressora esta instalada

  Public Function ImpressoraInstalada() As Boolean
    On Error Resume Next
    
    Dim strVerifica As String
    strVerifica = Printer.DeviceName
    
    If Err.Number Then
        ImpressoraInstalada = False
    Else
        ImpressoraInstalada = True
    End If
    
End Function
Private Sub Form_Load()
    MsgBox ImpressoraInstalada()
End Sub



7- Definir a fonte da impressora

Private Sub Command1_Click()

    Printer.FontName = "Arial"
    Printer.FontUnderline = False
    Printer.FontBold = False
    Printer.FontItalic = True
    Printer.FontSize = "30"
    Printer.Print "hello"
    Printer.EndDoc

End Sub


8 - Imprimir um formulário

Private Sub Form_Load()
    Form1.PrintForm
End Sub

9 - Imprimir uma imagem

O codigo abaixo imprime a imagem em Picture1.(Voce pode usar o controle image).
Para imprimir na posição atual substitua as coordendas 0,0 por Printer.CurrentX, Printer.CurrentY.
Para aumentar a largura e/ou o comprimento da imagem impressa altere os valores de Picture1.Width, Picture1.Height.
Ex: Picture1.Width * 2, Picture1.Height * 2 ( imprime a imagem com o dobro do tamanho)

Private Sub Command1_Click()
'
     Printer.PaintPicture Picture1.Picture, 0, 0, Picture1.Width, Picture1.Height
     Printer.EndDoc
End Sub

10 - Imprimir um relatório feito no Microsoft Access

Não esqueça de fazer a referência a biblioteca - Microsoft Access X.0 Object Library - no seu projeto.
Você tem que abrir o banco de dados Access e pode escolher se deseja visualizar ou não a impressão.

Private Sub Command1_Click()

    Dim ac As Access.Application
    Set ac = New Access.Application
    ac.OpenCurrentDatabase ("c:     esteSeuBancoAccess.mdb")
    ' Para visualizar a impressão descomente a linha abaixo
    ' ac.Visible = True
    ' e substitua o valor acViewNormal por acViewPreview na linha de código abaixo para visualizar a impressora
    ac.DoCmd.OpenReport "Catalog", acViewNormal
    ' e exclua a linha a baixo para visualizar a impressão
    ac.CloseCurrentDatabase
End Sub
ible = True
    ' e substitua o valor acViewNormal por acViewPreview na linha de código abaixo para visualizar a impressora
    ac.DoCmd.OpenReport "Catalog", acViewNormal
    ' e exclua a linha a baixo para visualizar a impressão
    ac.CloseCurrentDatabase
End Sub


'Josefh hennyere
 


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