Gere etiquetas de manutenção preventiva para o Brás no CorelDRAW via VBA
Automatize etiquetas de manutenção preventiva para o Brás no CorelDRAW com VBA. Reduza erros, padronize layouts e agilize a produção gráfica industrial.
Na oficina de caldeiraria do Brás, o técnico Carlos olha para a pilha de etiquetas manuscritas: datas borradas, códigos de equipamento ilegíveis, próximo vencimento esquecido. A fiscalização da NR-13 chega em duas semanas. Ele abre o CorelDRAW, importa a planilha do Excel e começa a copiar e colar — sabe que vai virar a noite e ainda assim erros vão escapar.
Esse cenário se repete em dezenas de indústrias têxteis, metalúrgicas e de logística concentradas no bairro. A rastreabilidade de vasos de pressão, compressores e tubulações exige etiquetas duráveis, padronizadas e geradas em volume. O processo manual não escala e expõe a empresa a multas e paradas não programadas.
A automação via VBA no CorelDRAW transforma esse fluxo: a macro lê a base de ativos, preenche o template validado pela qualidade e imprime centenas de etiquetas em minutos, com QR code rastreável e versão de layout auditável. O ganho não é apenas velocidade — é conformidade documental garantida.
Por que automatizar etiquetas de manutenção no CorelDRAW
O CorelDRAW já faz parte do parque gráfico da maioria das indústrias do Brás. Ele aceita nativamente fontes de código de barras, exporta PDF/X-1a para corte a laser e permite controle milimétrico de sangria e marca de registro. Usar VBA dentro dele elimina a ponte frágil entre planilha e layout — nada de exportar CSV, abrir no Word, formatar, imprimir, conferir.
A macro roda no mesmo arquivo .cdr que o operador usa no dia a dia. Não há instalação de software extra, não há licença de plugin, não há dependência de nuvem. O código vive no GlobalMacros.gms ou no próprio documento, versionado junto com o template. Para equipes que já dominam o Corel, a curva de aprendizado é apenas a lógica de programação — e o retorno aparece na primeira tiragem.
Além disso, o VBA acessa diretamente o modelo de objetos do CorelDRAW: cria formas, insere texto artístico, aplica estilos de parágrafo, define camadas de corte e dobra. Tudo programaticamente, sem clique humano. Isso permite gerar variações de layout por tipo de equipamento (vaso, tubulação, válvula) mantendo a identidade visual única da empresa.
Estrutura do template mestre para rastreabilidade total
O segredo está no template. Crie um arquivo Etiqueta_Manutencao_Mestre.cdr com quatro camadas travadas e nomeadas: Fixos (logotipo, bordas, textos constantes), TextoVariavel (campos que mudam por equipamento), CodigoBarras (QR code ou Code128), Corte (linha de faca com overprint). Cada campo variável recebe um nome de objeto no Corel (objTagEquip, objDataUltima, objProxima, objResponsavel, objSetor).
No VBA, a função PreencherEtiqueta(dados As Collection) localiza cada objeto pelo nome .Name e escreve .Text.Story.Text = valor. Isso evita depender de posição X/Y — se o designer mover o campo no layout, a macro continua funcionando. A camada Corte nunca é tocada pelo código; ela garante que a faca de corte permaneça idêntica em todas as tiragens.
Para versionamento, insira um objeto de texto minúsculo no rodapé da camada Fixos chamado objVersao. A macro lê a propriedade UserData do documento (ActiveDocument.UserData("TemplateVersao")) e grava no objeto. Assim, cada etiqueta impressa carrega a versão do layout que a gerou — essencial para auditoria da NR-13.
Conexão com a base de ativos: Excel, Access ou SQL Server
A fonte de dados costuma ser uma planilha Ativos_Bras.xlsx na rede, com colunas: Tag, Descricao, Setor, DataUltimaManut, ProximaManut, Responsavel, NumeroSerie, NormaAplicavel. O VBA abre a conexão ADO:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SRV-BRAS\Dados\Ativos_Bras.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;'"
rs.Open "SELECT * FROM [Ativos$] WHERE ProximaManut <= DateAdd('m', 1, Date()) ORDER BY Setor, Tag", cn, adOpenStatic, adLockReadOnly
O loop Do Until rs.EOF lê cada registro, monta uma Collection com chaves idênticas aos nomes dos objetos do template e chama PreencherEtiqueta. Se houver 300 equipamentos com manutenção vencendo no próximo mês, a macro cria 300 páginas no documento, uma por etiqueta, mantendo a numeração de página para conferência posterior.
Tratamento de erro é obrigatório: On Error GoTo ErroRegistro dentro do loop, gravando em log Tag, Erro.Number, Erro.Description e continuando para o próximo. Nenhum equipamento fica sem etiqueta por falha de dado isolado.
Geração de QR code rastreável sem dependências externas
O QR code codifica a URL do sistema de gestão: https://manutencao.empresa.com.br/ativo/{Tag}. Em vez de instalar DLL ou OCX, use a API do Google Charts (ou equivalente interno) via XMLHTTP para baixar a imagem PNG 300 DPI e inserir como bitmap no Corel:
Function GerarQRCode(tag As String) As String
Dim url As String: url = "https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=" & EncodeURL("https://manutencao.empresa.com.br/ativo/" & tag)
Dim xml As New MSXML2.XMLHTTP60
xml.Open "GET", url, False
xml.send
Dim tmpPath As String: tmpPath = Environ("TEMP") & "\QR_" & tag & ".png"
Dim fs As Object: Set fs = CreateObject("ADODB.Stream")
fs.Type = 1: fs.Open: fs.Write xml.responseBody: fs.SaveToFile tmpPath, 2
GerarQRCode = tmpPath
End Function
O arquivo temporário é importado com ActiveLayer.ImportEx tmpPath, cdrPlaceAsBitmap e posicionado no objeto objQRCode da camada CodigoBarras. Após o loop, apague os arquivos temporários. Teste a leitura com o scanner Zebra DS2208 usado na expedição — valide distância, ângulo e contraste antes de liberar a tiragem.
Impressão em lote com controle de rolo e contagem
A macro não manda direto para a impressora. Ela gera um PDF único Etiquetas_Manutencao_Bras_YYYYMMDD.pdf com marcas de corte, sangria de 3 mm e perfil de cor CMYK FOGRA39. O operador abre no Adobe Reader, confere visualmente 5 páginas aleatórias e imprime no rolo de poliéster adesivo 100x50 mm.
Para rastreabilidade de produção, a macro grava no rodapé de cada página (camada Fixos, objeto objLote) o número do lote: LOTE-20241115-001. Um arquivo Controle_Lotes.csv acumula: Lote,DataHora,QtdEtiquetas,Operador,VersaoTemplate,HashPDF. O hash SHA-256 do PDF garante integridade — qualquer reimpressão não autorizada é detectada.
Se a impressora para no meio (fim de rolo, atolamento), o operador relança a macro informando PaginaInicial = 147. A macro pula as já impressas e continua. Essa retomada é vital em tiragens de 2.000+ etiquetas em turno único.
Integração com rotinas de manutenção do parque gráfico
A mesma disciplina que garante etiquetas corretas deve valer para o CorelDRAW que as produz. Macros lentas, vazamento de memória ou conflitos de versão travam a estação no meio da tiragem. Aplicar as boas práticas de desempenho em macros para produção — liberar objetos Set obj = Nothing, evitar Select/Activate, usar Application.Optimization = True — mantém o VBA estável por horas.
Estações que rodam CorelDRAW via Parallels no MacBook corporativo precisam de atenção extra ao mapeamento de rede (\\SRV-BRAS\Dados). A automação VBA no CorelDRAW em MacBook corporativo via Parallels detalha como configurar unidades de rede persistentes e evitar timeout de SMB durante a geração do PDF.
Quando a demanda cresce e a equipe precisa separar cores para serigrafia das etiquetas coloridas, a automatização de separação de cores para impressão serigráfica reaproveita o mesmo modelo de objetos do template — apenas troca a camada de saída. O investimento em estruturação do template paga-se em múltiplos processos.
Checklist de validação antes de liberar a tiragem oficial
- Conferir se todos os campos da NR-13 estão presentes no template e mapeados na macro.
- Testar geração de 10 etiquetas com dados reais, imprimir em papel comum e validar leitura do QR code.
- Verificar sangria, marca de registro e linha de corte na camada
Cortecom overprint ativo. - Confirmar que a versão do template gravada no rodapé corresponde ao
UserDatado documento. - Validar hash SHA-256 do PDF gerado contra o registro no
Controle_Lotes.csv. - Simular retomada a partir da página 50 para garantir que a numeração não duplica.
- Arquivar o
.cdrmestre e o.basda macro no Git com tagv1.3.0-bras-2024. - Treinar dois operadores no procedimento de geração, retomada e conferência.
- Agendar revisão semestral do template com qualidade e TI para novos campos ou normas.
A automação de etiquetas de manutenção preventiva no Brás não é projeto de TI — é procedimento de chão de fábrica. O VBA no CorelDRAW coloca a conformidade na mão de quem opera a impressora, com rastreabilidade que resiste a auditoria e a rotina pesada da indústria. Comece pelo template versionado, valide o QR code no scanner real e meça o tempo da primeira tiragem completa. O ganho aparece no relatório de não-conformidades zerado no mês seguinte.
Checklist prático
Perguntas frequentes
Quais dados essenciais devem constar na etiqueta de manutenção preventiva?
A etiqueta deve conter identificação do equipamento, data da última manutenção, próxima data programada, responsável técnico, tipo de serviço realizado e QR code para rastreabilidade digital. Campos como número de série e setor facilitam a gestão de ativos no Brás.
Como o VBA acessa o banco de dados de equipamentos para preencher as etiquetas?
O VBA utiliza conexão ADO ou ODBC para ler planilhas Excel, Access ou SQL Server. A macro percorre os registros, cria objetos de texto no CorelDRAW e posiciona cada campo nas camadas corretas do template, garantindo alinhamento milimétrico.
É possível gerar etiquetas em lote para centenas de equipamentos de uma só vez?
Sim. O loop VBA processa cada linha da fonte de dados, duplica a página mestre do template, preenche os campos variáveis e envia para impressão ou exporta PDF pronto para corte. O processo roda em segundos, mesmo com milhares de itens.
Como garantir que o código de barras ou QR code seja legível na impressão final?
Use fontes nativas de código de barras ou gere a imagem via biblioteca ZXing e insira como bitmap de alta resolução (300 DPI). Teste a leitura com scanner industrial antes da tiragem completa e mantenha zona de silêncio ao redor do código.
Qual a melhor forma de versionar o template de etiqueta para auditoria?
Armazene o arquivo .cdr do template no controle de versão (Git) com numeração semântica. Cada alteração de layout ou campo gera novo commit. A macro lê a versão do template e grava no rodapé da etiqueta para rastreabilidade total.
Como adaptar a macro para diferentes tamanhos de etiqueta sem reescrever o código?
Crie um arquivo de configuração JSON ou INI com largura, altura, margens e posições X/Y de cada campo. A macro lê esse arquivo ao iniciar e ajusta dinamicamente o layout, permitindo trocar de fornecedor de etiqueta sem alterar uma linha de VBA.