 VB - 10 dicas sobre impressão usando o objeto
Printer
VB - 10 dicas sobre impressão usando o objeto
Printer
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 Macoratti na coordenada 100,300 Printer.CurrentX = 100 Printer.CurrentY = 300 Printer.Print "Macoratti" ' 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() | 
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" 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:\teste\SeuBancoAccess.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 | 
E ponto final. Até mais ver ...

José Carlos Macoratti