Como Usar Condicional IF/ELSE na Mala Direta do Word Dentro do Bloco de Endereço
🔍 WiseChecker

Como Usar Condicional IF/ELSE na Mala Direta do Word Dentro do Bloco de Endereço

Quando você usa a Mala Direta do Word para gerar cartas, envelopes ou etiquetas, o campo Bloco de Endereço insere um nome e endereço formatados da sua fonte de dados. Mas às vezes você precisa que o Bloco de Endereço mostre informações diferentes dependendo de um valor nos dados, como exibir o nome da empresa para contatos comerciais e o nome pessoal para contatos individuais. O Word não permite colocar um campo IF diretamente dentro de um campo Bloco de Endereço. Este artigo explica como contornar essa limitação inserindo condicionais IF/ELSE ao redor ou no lugar do campo Bloco de Endereço, usando o sistema de códigos de campo do Word. Você aprenderá a sintaxe exata e as etapas para criar conteúdo de endereço condicional que muda com base em qualquer campo da sua fonte de dados.

Principais Pontos: Usando Condicionais IF/ELSE com Bloco de Endereço na Mala Direta

  • Alt+F9 para alternar códigos de campo: Revela o código de campo subjacente do Bloco de Endereço para que você possa editá-lo ou substituí-lo por um campo IF condicional.
  • Ctrl+F9 para inserir um novo campo: Cria um par de chaves onde você pode digitar manualmente o código do campo IF.
  • Nomes dos campos de mesclagem da sua fonte de dados: Devem corresponder exatamente aos cabeçalhos das colunas para que a condição IF seja avaliada corretamente.
  • Códigos de campo aninhados para condições complexas: Você pode combinar vários campos IF ou usar o campo Bloco de Endereço como uma das saídas verdadeiro/falso.

ADVERTISEMENT

Como o Campo Bloco de Endereço Funciona e Por Que o IF/ELSE Não Pode Ser Colocado Dentro Dele

O campo Bloco de Endereço na Mala Direta do Word é um único código de campo que extrai dados de campos mapeados na sua fonte de dados. Quando você insere um Bloco de Endereço, o Word cria um código de campo semelhante a este:

{ ADDRESSBLOCK \c "pt-BR" }

Este código de campo instrui o Word a gerar um bloco formatado usando o nome do destinatário, endereço, cidade, estado e CEP. Você não pode inserir um campo IF dentro das chaves do próprio campo ADDRESSBLOCK. Se tentar, o Word ignora a sintaxe IF ou produz um erro.

A solução alternativa é substituir completamente o Bloco de Endereço por um campo IF que contenha os componentes de endereço necessários. Alternativamente, você pode manter o Bloco de Endereço e envolvê-lo em um campo IF para que ele apareça apenas quando uma condição for verdadeira. A sintaxe do campo IF no Word segue esta estrutura:

{ IF [nome do campo] [operador] [valor] [texto verdadeiro] [texto falso] }

O nome do campo deve corresponder a um cabeçalho de coluna na sua fonte de dados. O operador pode ser =, <>, >, <, >= ou <=. Os textos verdadeiro e falso podem incluir texto simples, outros campos de mesclagem ou até mesmo um campo ADDRESSBLOCK aninhado.

Etapas para Inserir uma Condicional IF/ELSE que Substitui o Bloco de Endereço

Estas etapas pressupõem que você já conectou seu documento principal a uma fonte de dados e inseriu um Bloco de Endereço. Você substituirá esse Bloco de Endereço por um campo IF condicional que mostra conteúdo de endereço diferente com base em um valor de campo.

  1. Revele o código de campo do Bloco de Endereço existente
    Pressione Alt+F9 para alternar a exibição dos códigos de campo. O código de campo do Bloco de Endereço aparece entre chaves. Selecione todo o campo, incluindo as chaves, e pressione Delete para removê-lo. Pressione Alt+F9 novamente para retornar à visualização normal.
  2. Insira um novo campo IF
    Pressione Ctrl+F9 para inserir um par de chaves de campo vazias. Seu cursor estará dentro das chaves. Digite o seguinte código de campo, substituindo os placeholders pelos nomes e valores reais dos seus campos de dados:
    IF [NomeDoCampo] = "[Valor]" "[TextoVerdadeiro]" "[TextoFalso]"
    Por exemplo, se sua fonte de dados tem uma coluna chamada “TipoContato” e você quer exibir “Nome da Empresa” quando TipoContato for igual a “Comercial” e “Nome Sobrenome” quando TipoContato for qualquer outro valor, digite:
    IF TipoContato = "Comercial" "{ MERGEFIELD Empresa }" "{ MERGEFIELD Nome } { MERGEFIELD Sobrenome }"
  3. Adicione os campos de endereço restantes
    Após o campo IF, pressione Enter e insira os campos de mesclagem de endereço restantes, como Rua, Cidade, Estado e CEP. Você pode inserir cada campo de mesclagem pressionando Ctrl+F9 e digitando MERGEFIELD [NomeDoCampo] ou usando o botão Inserir Campo de Mesclagem na guia Correspondências. O resultado final deve ser semelhante a este:
    { IF TipoContato = "Comercial" "{ MERGEFIELD Empresa }" "{ MERGEFIELD Nome } { MERGEFIELD Sobrenome }" }
    { MERGEFIELD Rua }
    { MERGEFIELD Cidade }, { MERGEFIELD Estado } { MERGEFIELD CEP }
  4. Teste a mesclagem condicional
    Na guia Correspondências, clique em Visualizar Resultados. Use os botões de seta para percorrer os registros. Verifique se a condição IF mostra o nome correto para cada tipo de contato. Se a condição não for avaliada conforme o esperado, verifique se o nome do campo na instrução IF corresponde exatamente ao cabeçalho da coluna, incluindo maiúsculas/minúsculas e espaços.

ADVERTISEMENT

Etapas para Envolver um Bloco de Endereço Existente Dentro de um Campo IF

Se você deseja manter o formato do Bloco de Endereço, mas mostrá-lo apenas quando uma condição for verdadeira, envolva o Bloco de Endereço dentro de um campo IF. Isso é útil quando você quer suprimir o endereço para certos registros, como quando um campo “NaoEnviar” está definido como Sim.

  1. Insira o Bloco de Endereço normalmente
    Na guia Correspondências, clique em Bloco de Endereço e configure os campos conforme necessário. Clique em OK para inseri-lo.
  2. Recorte o Bloco de Endereço para a área de transferência
    Selecione o campo Bloco de Endereço (incluindo os colchetes se os códigos de campo estiverem visíveis) e pressione Ctrl+X.
  3. Insira um campo IF e cole o Bloco de Endereço dentro dele
    Pressione Ctrl+F9 para criar chaves de campo vazias. Digite a condição IF, mas deixe o texto verdadeiro vazio. Pressione Ctrl+V para colar o Bloco de Endereço na posição do texto falso. Por exemplo, para ocultar o endereço quando NaoEnviar for igual a Sim, digite:
    IF NaoEnviar = "Sim" "" "{ ADDRESSBLOCK \c "pt-BR" }"
    Pressione F9 para atualizar o campo e, em seguida, pressione Alt+F9 para retornar à visualização normal.
  4. Visualize os resultados
    Clique em Visualizar Resultados na guia Correspondências. Registros com NaoEnviar definido como Sim mostram uma linha em branco onde o endereço apareceria. Registros com qualquer outro valor mostram o Bloco de Endereço completo.

Erros Comuns e Limitações ao Usar IF/ELSE com Bloco de Endereço

O campo IF não mostra nada ou mostra o texto errado

A causa mais comum é uma incompatibilidade entre o nome do campo na instrução IF e o cabeçalho da coluna na fonte de dados. Os nomes dos campos diferenciam maiúsculas de minúsculas e devem incluir espaços exatamente como aparecem. Abra sua fonte de dados no Excel e verifique o texto exato do cabeçalho da coluna. Além disso, certifique-se de que o valor na condição IF esteja entre aspas duplas retas, não curvas.

O Word exibe o código de campo em vez do endereço

Isso acontece quando os códigos de campo estão ativados. Pressione Alt+F9 para ocultar os códigos de campo e mostrar o resultado mesclado. Se o problema persistir, selecione todo o documento e pressione F9 para atualizar todos os campos.

O campo IF funciona apenas para comparações de texto, não para números ou datas

Os campos IF do Word comparam valores de texto. Se o seu campo contiver números ou datas, o Word os converte em texto antes da comparação. Para campos numéricos, use o operador = com o número como texto, como IF Idade = "25". Para datas, use a data como texto no mesmo formato da sua fonte de dados, por exemplo IF DataInicio = "01/01/2025". O Word não oferece suporte a aritmética de datas dentro de campos IF.

Campos IF aninhados tornam-se ilegíveis

Você pode aninhar campos IF colocando um campo IF dentro do texto verdadeiro ou falso de outro. No entanto, cada campo aninhado requer seu próprio conjunto de chaves Ctrl+F9. Para lógica complexa, considere usar um campo calculado em sua fonte de dados (como uma fórmula do Excel) em vez de aninhar vários campos IF no Word.

ADVERTISEMENT

Condicional IF/ELSE vs Bloco de Endereço: Principais Diferenças

Item Campo Condicional IF/ELSE Campo Bloco de Endereço
Definição Um código de campo que exibe uma de duas strings de texto com base em uma condição Um campo pré-formatado que combina campos de nome, empresa e endereço da sua fonte de dados
Personalização Você controla cada caractere da saída O Word controla a formatação com base no seu local e mapeamento de campos
Lógica condicional Lógica IF/ELSE integrada Sem lógica condicional; sempre exibe os campos mapeados
Complexidade do código de campo Requer digitação manual dos nomes e valores dos campos Inserido automaticamente com uma caixa de diálogo
Melhor caso de uso Quando você precisa de conteúdo de endereço diferente com base em um campo de dados Quando todos os registros usam o mesmo formato de endereço com os mesmos campos

Use uma condicional IF/ELSE quando seus dados contiverem um campo que determina quais componentes de endereço exibir. Use o Bloco de Endereço quando cada registro tiver o mesmo conjunto de campos de endereço e você quiser que o Word lide automaticamente com espaçamento e pontuação.

Agora você pode criar documentos de mala direta que mostram conteúdo de endereço diferente com base em qualquer campo da sua fonte de dados. Comece identificando o campo que atuará como condição. Escreva o código do campo IF com o nome e valor exatos do campo. Teste com Visualizar Resultados para confirmar a saída. Para cenários avançados, tente aninhar um segundo campo IF dentro do texto verdadeiro ou falso para lidar com uma terceira condição, ou use o Bloco de Endereço como texto falso para recorrer a um endereço formatado padrão.

ADVERTISEMENT