A impressão matricial continua sendo uma solução utilizada em setores que demandam eficiência e custos reduzidos. Neste artigo, apresentaremos uma função VBA que permite imprimir relatórios em impressoras matriciais, incluindo suporte para imagens e conteúdo dinâmico.
Eventualmente precisaremos imprimir dados em impressoras matriciais. E isso será possível por
condicionarmos a saída dos dados pela porta LPT1.
Manipulando Impressoras e Impressões:
- 🖨️ Imprimindo em Impressora Matricial
- 🖨️ Como Automatizar Configurações de Impressão em Relatórios
- 🖨️ Como Listar Todas as Impressoras Instaladas
- 🖨️ Como Listar Tipos de Papel e Bandejas Suportados pela Impressora
- 🖨️ Como Abrir Relatórios Filtrados de Forma Eficiente
- 🖨️ Como Gerenciar Relatórios Sem Dados Usando VBA
Function PrintMatricialReport() As Boolean' Declaração de variáveisDim portName As String ' Porta onde o relatório será enviadoDim logoFilePath As String ' Caminho para o arquivo de imagemDim imgBuffer As String ' Buffer para armazenar o conteúdo da imagemDim fileNumber As Integer ' Número do arquivo para saída na portaDim imgNumber As Integer ' Número do arquivo para leitura do logoOn Error GoTo ErrorHandler ' Manipulação de erros' Configuração da porta e do arquivo de imagemportName = "LPT1"logoFilePath = "Logo.bmp"' Abre a porta de saída e o arquivo de imagemfileNumber = FreeFile() ' Obtém um número de arquivo livreOpen portName For Output As #fileNumberimgNumber = FreeFile() ' Obtém um número de arquivo livre para o logoOpen logoFilePath For Binary As #imgNumber' Carrega o conteúdo do arquivo de imagem no bufferimgBuffer = Space(LOF(imgNumber)) ' Ajusta o buffer ao tamanho do arquivoGet #imgNumber, 1, imgBufferClose #imgNumber ' Fecha o arquivo de imagem após carregá-lo' Inicia a impressão matricialPrint #fileNumber, Chr(2) & "Relatório de Impressão Matricial"Print #fileNumber, imgBuffer ' Imprime o conteúdo da imagemPrint #fileNumber, Chr(2) & "-------------------------------"Print #fileNumber, Chr(2) & "Detalhes do Relatório:"Print #fileNumber, Chr(2) & "-------------------------------"' Exemplos de conteúdo dinâmicoPrint #fileNumber, "Nome: Bernardes"Print #fileNumber, "Título: Logo do Relatório"Print #fileNumber, "Departamento: Vendas"Print #fileNumber, "Código: 007"Print #fileNumber, "Mês: Outubro"' Finaliza a impressãoPrint #fileNumber, Chr(2) & "Fim do Relatório"Close #fileNumber ' Fecha a conexão com a porta' Retorna sucessoPrintMatricialReport = TrueExit FunctionErrorHandler:' Tratamento de errosMsgBox "Erro ao imprimir o relatório: " & Err.Description, vbCritical, "Erro"PrintMatricialReport = FalseExit FunctionEnd Function
👉 Não se esqueça de seguir André Bernardes no Linkedin. Clique aqui e me contate via What's App.
Nenhum comentário:
Postar um comentário