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