|
|
|
|
|
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
|
|
|
|
|