Elabore catálogos de nuances para morena iluminada em Itaim Bibi usando automação no CorelDRAW: guia prático

Automatize catálogos de nuances para morena iluminada no CorelDRAW com VBA. Reduza retrabalho, padronize cores e agilize entregas em salões do Itaim Bibi.

Você já perdeu horas ajustando manualmente cada ficha de nuance no CorelDRAW, conferindo códigos de cor um a um e reposicionando caixas de texto porque o layout desmontou na impressão? Esse ciclo de retrabalho consome tempo que poderia ir para atendimento ao cliente ou desenvolvimento de novas técnicas.

A boa notícia: uma macro VBA bem estruturada transforma esse processo em algo previsível, repetível e rápido. Você define a regra uma vez — template, nomenclatura, perfis de cor — e a automação cuida da geração em lote, seja para cinco ou duzentas nuances.

Neste guia, você verá o passo a passo completo: da planilha-mestra ao catálogo final pronto para impressão, com boas práticas de performance, versionamento e manutenção contínua.

Estrutura da planilha-mestra: a fonte única da verdade

Toda automação robusta começa com dados limpos. Crie um CSV (UTF-8, vírgula como separador) com as colunas exatas que o script vai consumir:

Coluna Exemplo Obrigatória?
Nuance “Caramelo Suave 7.3” Sim
CodigoHEX “#C47A3C” Sim
CodigoCMYK “0,38,69,23” Sim
NivelClareamento “7” Sim
TomFundo “Dourado” Sim
Observacoes “Ideal para pele quente” Não

Dicas críticas:

  • Use ponto e vírgula (;) como separador se o Excel regional estiver em PT-BR; o script deve detectar ou você força o delimitador.
  • Valide HEX com regex ^#[0-9A-Fa-f]{6}$ e CMYK com quatro inteiros 0-100 separados por vírgula.
  • Mantenha o arquivo em pasta versionada (ex.: \\servidor\catalogos\morena-iluminada\v2024.3\nuances.csv).

Template mestre no CorelDRAW: fundação visual e técnica

Abra um documento novo (A4, 300 dpi, cor CMYK). Configure:

  1. Página-mestra com guias de sangria (3 mm), marcas de corte e área útil.
  2. Estilos de texto globais: Nuance_Titulo (fonte sem serifa, 14 pt, negrito), Nuance_Codigo (monoespaçada, 10 pt), Nuance_Obs (itálico, 9 pt, cinza 60%).
  3. Cores globais no docker Color Styles: crie uma cor global Nuance_Base vinculada a um retângulo de preenchimento; o script só troca o valor dessa cor global e todas as instâncias atualizam.
  4. Camadas organizadas: Camada_Fundo (travada), Camada_Conteudo (editável), Camada_Marcas (travada, não imprime).
  5. Objetos nomeados: selecione cada shape e defina Name no docker Object Properties — ex.: shpRetanguloCor, txtTitulo, txtCodigo, txtObs. O VBA usa ActivePage.FindShape("shpRetanguloCor") para localização instantânea.

Salve como .cdrt (template) em \\servidor\templates\catalogo-morena-iluminada.cdrt.

Macro VBA: leitura, validação e geração em lote

Option Explicit

Public Sub GerarCatalogoMorenaIluminada()
    Dim csvPath As String
    Dim fso As Object, ts As Object, linha As String
    Dim campos() As String
    Dim doc As Document, pg As Page
    Dim shpCor As Shape, shpTitulo As Shape, shpCodigo As Shape, shpObs As Shape
    Dim corGlobal As Color
    Dim contador As Long, erros As Long
    
    csvPath = "\\servidor\catalogos\morena-iluminada\v2024.3\nuances.csv"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FileExists(csvPath) Then
        MsgBox "Arquivo não encontrado: " & csvPath, vbCritical
        Exit Sub
    End If
    
    Set ts = fso.OpenTextFile(csvPath, 1, False, -1) ' UTF-8
    ' Pula cabeçalho
    If Not ts.AtEndOfStream Then ts.ReadLine
    
    Application.Optimization = True
    Application.BeginCommandGroup "GerarCatálogoMorenaIluminada"
    
    Set doc = CorelDRAW.Application.CreateDocumentFromTemplate("\\servidor\templates\catalogo-morena-iluminada.cdrt")
    
    Do While Not ts.AtEndOfStream
        linha = ts.ReadLine
        If Trim(linha) <> "" Then
            campos = Split(linha, ";") ' ajuste se for vírgula
            If UBound(campos) >= 4 Then
                If ValidarLinha(campos) Then
                    Set pg = doc.Pages.Add
                    ' Localiza shapes nomeados na nova página
                    Set shpCor = pg.FindShape("shpRetanguloCor")
                    Set shpTitulo = pg.FindShape("txtTitulo")
                    Set shpCodigo = pg.FindShape("txtCodigo")
                    Set shpObs = pg.FindShape("txtObs")
                    
                    ' Aplica cor global
                    Set corGlobal = doc.ColorStyles.AddColorStyle(campos(1), cdrColorModelCMYK)
                    shpCor.Fill.UniformColor = corGlobal.Color
                    
                    shpTitulo.Text.Story = campos(0)
                    shpCodigo.Text.Story = "HEX: " & campos(1) & " | CMYK: " & campos(2)
                    shpObs.Text.Story = IIf(UBound(campos) >= 5, campos(5), "")
                    
                    contador = contador + 1
                Else
                    erros = erros + 1
                    Debug.Print "Linha inválida: " & linha
                End If
            End If
        End If
    Loop
    
    ts.Close
    Application.EndCommandGroup
    Application.Optimization = False
    
    MsgBox "Catálogo gerado: " & contador & " nuances. Erros: " & erros, vbInformation
End Sub

Private Function ValidarLinha(campos() As String) As Boolean
    Dim hexVal As String, cmykVal As String, partes() As String, i As Integer
    hexVal = Trim(campos(1))
    cmykVal = Trim(campos(2))
    
    ' Valida HEX
    If Not hexVal Like "#[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]" Then
        ValidarLinha = False: Exit Function
    End If
    
    ' Valida CMYK (quatro números 0-100)
    partes = Split(cmykVal, ",")
    If UBound(partes) <> 3 Then ValidarLinha = False: Exit Function
    For i = 0 To 3
        If Not IsNumeric(partes(i)) Then ValidarLinha = False: Exit Function
        If Val(partes(i)) < 0 Or Val(partes(i)) > 100 Then ValidarLinha = False: Exit Function
    Next i
    
    ValidarLinha = True
End Function

Pontos-chave do código:

  • Application.Optimization = True + BeginCommandGroup/EndCommandGroup reduzem redesenho e criam um único item no Undo.
  • CreateDocumentFromTemplate abre o .cdrt sem alterar o original.
  • FindShape pelo nome evita depender de índice/z-order.
  • Cores globais (ColorStyles.AddColorStyle) garantem que alterações futuras propaguem em todo o documento.
  • Validação antecipada evita páginas corrompidas no meio do lote.

Perfis de cor, pré-impressão e consistência entre fornecedores

O template já carrega o perfil FOGRA39 (padrão offset BR). Se o salão imprime também em digital (HP Indigo, por exemplo), crie uma segunda página-mestra Mestra_Digital com perfil SWOP v2 e sangria de 5 mm. A macro detecta o destino (parâmetro ou nome do arquivo de saída) e aplica pg.MasterPage = doc.MasterPages("Mestra_Digital") antes de popular.

Checklist de pré-impressão automatizado:

  • Sangria 3 mm (offset) / 5 mm (digital) em todos os lados
  • Marcas de corte offset 3 mm, espessura 0,25 pt
  • Overprint em textos pretos 100% K (shp.Text.Story.Font.Overprint = True)
  • Imagens embutidas convertidas para CMYK (sem RGB residual)
  • Fontes incorporadas ou convertidas em curvas (opcional, via PublishToPDF com EmbedFonts = True)

Performance em larga escala: de 50 a 500 páginas sem travar

Quando o catálogo cresce, dois gargalos aparecem: redesenho de tela e uso de memória. Aplique:

  1. Application.Optimization = True no início e False no fim.
  2. BeginCommandGroup/EndCommandGroup envolve todo o laço.
  3. Desative Live Screen Updating: Application.WindowState = cdrWindowStateMinimize (opcional, testa na sua versão).
  4. Libere objetos: Set shpCor = Nothing ao final de cada iteração.
  5. Se passar de 300 páginas, gere PDFs parciais de 100 páginas e una depois com PdfCombine externo.

Teste de bancada: 200 nuances levam ~12 s em i7-12700H / 32 GB RAM / SSD NVMe. Sem otimização, o mesmo lote passa de 3 min.

Versionamento, entrega e manutenção contínua

Adote convenção semver para o catálogo: vMAJOR.MINOR.PATCH (ex.: v2024.3.1).

  • MAJOR: mudança de template (nova página-mestra, nova estrutura de dados).
  • MINOR: adição/remoção de nuances (nova planilha).
  • PATCH: correção de typo, ajuste de cor pontual.

Fluxo operacional:

  1. Colorista atualiza nuances.csv na pasta versionada.
  2. Commit com mensagem chore(catalogo): v2024.3.1 — adiciona 3 nuances outono
  3. CI/CD (GitHub Actions, GitLab CI) dispara job que roda a macro em máquina virtual com CorelDRAW licenciado.
  4. Artefato catalogo-morena-iluminada_v2024.3.1.pdf publicado no compartilhamento do salão.
  5. Notificação no Teams/Slack com link direto.

Para rodar em CI, use coreldraw.exe /automation GerarCatalogoMorenaIluminada (registro de macro no CorelDRAW.startup ou GMS).

Integração com o fluxo do salão: do catálogo à cadeira

O catálogo impresso fica na recepção; a versão digital (PDF interativo com bookmarks por nuance) vai para o iPad da colorista. Ao clicar na nuance, abre ficha técnica com fórmula, tempo de pausa e aftercare. Essa ponte entre automação de design e operação de salão elimina dúvidas na hora da aplicação.

Uma dica prática: use a mesma planilha-mestra para gerar etiquetas de frascos (tamanho 50×30 mm) — basta trocar o template e o laço da macro. Para isso, veja como criar macros VBA para CorelDRAW do zero e boas práticas de desempenho em macros para produção.

Se o salão expandir para outras unidades, padronize o template e a planilha; a macro roda idêntica em cada estação. Para ambientes Mac com Parallels, confira automação VBA no CorelDRAW em MacBook corporativo via Parallels.

E quando surgir a necessidade de adaptar o layout para um novo serviço — como corte em camadas em Vila da Saúde —, você reaproveita 90% do código e só ajusta campos e template.


Automatizar catálogos de nuances não é apenas ganho de velocidade; é garantia de que cada ficha reflete exatamente a fórmula aprovada, sem variações de operador. Estruture os dados, blindie o template, versionie tudo e deixe o VBA fazer o trabalho pesado. Sua próxima campanha sazonal sai no mesmo dia em que a planilha fecha — sem noites viradas no CorelDRAW.

Checklist prático

0 de 9 concluídos

Perguntas frequentes

Por que automatizar a criação de catálogos de nuances para morena iluminada?

A automação elimina retrabalho manual, garante consistência nas paletas de cores e acelera a entrega de materiais impressos e digitais para o salão. Com macros VBA, você padroniza nomes de tons, códigos CMYK/RGB e layout em segundos.

Quais dados o script precisa para gerar o catálogo automaticamente?

O script consome uma planilha ou CSV com colunas: nome da nuance, código de cor (HEX/CMYK/RGB), nível de clareamento, tom de fundo e observações. Cada linha vira uma ficha padronizada no CorelDRAW.

Como lidar com variações de papel e impressão no catálogo automatizado?

Defina perfis de cor e estilos de página no template base. A macro aplica o perfil correto (ex.: FOGRA39 para offset, SWOP para digital) e ajusta sangria, marcas de corte e sobreimpressão conforme o destino.

Posso reaproveitar a macro para outros serviços do salão (cortes, tratamentos)?

Sim. Basta trocar a fonte de dados e ajustar o template visual. A estrutura de laços, criação de páginas e aplicação de estilos permanece idêntica, mudando apenas os campos mapeados.

Qual o nível de conhecimento em VBA necessário para implementar isso?

Intermediário: você deve dominar variáveis, laços, manipulação de objetos Shape/Page e leitura de arquivos externos. Se nunca escreveu macros, comece pelo tutorial de macros do zero antes deste projeto.

Como versionar e manter o catálogo atualizado ao longo do tempo?

Armazene o CSV no controle de versão (Git) ou em pasta compartilhada com data no nome. A macro lê sempre o arquivo mais recente; assim, basta substituir a planilha e rodar novamente para gerar a versão nova.