Ao executar uma mala direta no Word, linhas de endereço em branco na fonte de dados podem criar lacunas no resultado. Por exemplo, um destinatário sem número de apartamento deixa uma segunda linha vazia, deslocando cidade e estado. Isso acontece porque o Word preserva cada campo mesmo quando a célula de origem está vazia. Este artigo explica como usar os códigos de campo do Word e a lógica SE–Então–Senão para suprimir linhas de endereço em branco, garantindo que suas cartas, envelopes ou etiquetas sejam impressos sem linhas vazias.
Principais Conclusões: Removendo Linhas em Branco da Mala Direta
- Alt+F9 para alternar códigos de campo: Revela a sintaxe subjacente do campo de mesclagem para que você possa editá-la diretamente.
- Campo SE com MERGEFIELD e MERGESEQ: Testa se um campo está em branco e o ignora se verdadeiro, usando o truque de “Próximo Registro” para evitar linhas vazias duplicadas.
- Alt+F9 novamente para retornar aos resultados: Volta à visualização para que você possa verificar o resultado antes de finalizar a mesclagem.
Por que a Mala Direta do Word Mostra Linhas em Branco para Campos Vazios
A mala direta do Word extrai dados de um arquivo de origem, como uma planilha do Excel, tabela do Access ou contatos do Outlook. Cada campo na fonte de dados é mapeado para um campo de mesclagem no documento do Word. Quando uma célula de origem está vazia, o Word ainda imprime a quebra de parágrafo ou quebra de linha associada a esse campo. O resultado é uma linha em branco onde o campo deveria aparecer.
O comportamento padrão não inclui uma opção “pular se vazio” no assistente de mala direta. Para remover linhas em branco, você precisa editar os códigos de campo subjacentes. Esta técnica usa o campo SE para verificar se um campo de mesclagem contém dados. Se o campo estiver vazio, o Word suprime a quebra de linha; se o campo tiver dados, o Word o imprime normalmente.
Você precisa de uma fonte de dados que tenha campos para cada componente do endereço. Campos comuns incluem Endereco_1, Endereco_2, Cidade, Estado e CEP. O método funciona com qualquer fonte de dados que o Word possa ler.
Passos para Suprimir Linhas de Endereço em Branco Usando Códigos de Campo
- Abra seu documento principal de mala direta
Inicie o Word e abra o documento que contém os campos de mesclagem. Este é o documento que você criou usando a guia Correspondências e o Assistente de Mala Direta Passo a Passo. - Pressione Alt+F9 para exibir os códigos de campo
Cada campo de mesclagem, como «Endereco_1», se torna um código de campo como { MERGEFIELD Endereco_1 }. O documento agora mostra o código bruto em vez dos dados de visualização. - Localize o primeiro código de campo de endereço
Encontre o código de campo para a linha de endereço superior. Para um bloco de endereço típico, geralmente é Endereco_1 ou Rua. Clique imediatamente após a chave de fechamento desse código de campo. - Insira um campo SE ao redor da linha de endereço
Pressione Ctrl+F9 para inserir um novo par de chaves de campo vazio { }. Dentro dessas chaves, digite exatamente o seguinte:IF "{ MERGEFIELD Endereco_1 }" <> "" "{ MERGEFIELD Endereco_1 }"
Não digite as chaves externas; o Word as adiciona quando você pressiona Ctrl+F9. Isso instrui o Word: se o campo Endereco_1 não estiver em branco, mostre o campo Endereco_1; caso contrário, não mostre nada. - Remova o código MERGEFIELD original
Exclua o código { MERGEFIELD Endereco_1 } original que você envolveu. Apenas o código do campo SE deve permanecer para essa linha. A linha agora contém apenas o campo SE. - Lide com a marca de parágrafo para a linha em branco
A linha em branco vem da marca de parágrafo após o campo. Para suprimi-la, você deve incluir a marca de parágrafo dentro da parte “verdadeira” do campo SE. Mova a marca de parágrafo (a quebra de linha invisível) para dentro da parte verdadeira do campo SE. O código se torna:IF "{ MERGEFIELD Endereco_1 }" <> "" "{ MERGEFIELD Endereco_1 }¶"
O símbolo ¶ representa a marca de parágrafo. Para inseri-la, coloque o cursor onde a marca de parágrafo deve estar e pressione Enter enquanto estiver dentro da parte verdadeira. - Repita para cada campo de endereço
Aplique a mesma estrutura de campo SE para Endereco_2, Cidade, Estado e CEP. Para o último campo em uma linha, como Cidade, Estado, CEP, combine-os em um único campo SE. Exemplo:IF "{ MERGEFIELD Cidade }" <> "" "{ MERGEFIELD Cidade }, { MERGEFIELD Estado } { MERGEFIELD CEP }"
Isso evita que uma Cidade em branco deixe uma vírgula e um espaço. - Pressione Alt+F9 para retornar aos resultados do campo
O Word agora mostra a visualização. Se um campo estiver em branco no registro atual, a linha desaparece completamente. Use o botão Visualizar Resultados na guia Correspondências para percorrer os registros e verificar. - Finalize a mesclagem
Clique em Concluir e Mesclar na guia Correspondências e escolha Editar Documentos Individuais, Imprimir Documentos ou Enviar Mensagens de E-mail. A saída não conterá linhas de endereço em branco.
Se a Mesclagem Ainda Mostrar Linhas em Branco
O campo SE tem um erro de sintaxe
Uma aspa ausente, espaço extra ou chave incorreta quebra o campo SE. Pressione Alt+F9 para verificar o código. O padrão correto é:{ IF "{ MERGEFIELD NomeDoCampo }" <> "" "{ MERGEFIELD NomeDoCampo }¶" }
Observe que o nome do campo dentro do MERGEFIELD aninhado deve corresponder exatamente ao nome na sua fonte de dados. Espaços em nomes de campo exigem aspas ao redor do nome.
A marca de parágrafo está fora do campo SE
Se a marca de parágrafo permanecer após a chave de fechamento do campo SE, o Word a imprime independentemente do teste SE. Mova a marca de parágrafo para dentro das aspas duplas da parte verdadeira. Você também pode excluir a marca de parágrafo e pressionar Enter enquanto o cursor estiver dentro da parte verdadeira.
Vários campos em branco consecutivos ainda produzem uma linha
Se Endereco_1 estiver em branco, mas Endereco_2 tiver dados, o campo SE para Endereco_1 suprime sua linha, e o campo SE para Endereco_2 mostra sua linha. Isso funciona corretamente. O problema ocorre quando você tem dois campos na mesma linha, como Cidade e Estado, e Cidade está em branco. A solução é combiná-los em um único campo SE que verifica apenas o primeiro campo. Se Cidade estiver em branco, toda a linha é suprimida mesmo que Estado tenha dados.
Códigos de Campo de Mala Direta vs Bloco de Endereço: Principais Diferenças
| Item | Códigos MERGEFIELD individuais | Bloco de Endereço (ADDRBLOCK) |
|---|---|---|
| Controle sobre cada linha | Controle total por campo | Limitado às configurações internas |
| Supressão de linha em branco | Edição manual do campo SE necessária | Automática se “Sempre incluir país/região” estiver desmarcado |
| Dependência do nome do campo | Deve corresponder exatamente à fonte de dados | Usa mapeamento para campos padrão |
| Curva de aprendizado | Mais alta; requer conhecimento de códigos de campo | Mais baixa; usa diálogos do assistente |
| Melhor para | Layouts personalizados com linhas opcionais | Blocos de endereço padrão com campos previsíveis |
O recurso Bloco de Endereço no Word pode suprimir linhas em branco automaticamente quando você configura as opções de correspondência. No entanto, ele funciona apenas com campos que o Word reconhece. Se sua fonte de dados usar nomes de campo personalizados, o Bloco de Endereço pode não mapear corretamente, e o método do campo SE é a alternativa confiável.
Agora você pode modificar qualquer documento de mala direta para pular linhas de endereço em branco usando códigos de campo SE. Comece com uma cópia do seu documento principal e teste com alguns registros antes de executar a mesclagem completa. Para controle avançado, combine o campo SE com o campo SKIPIF para pular registros inteiros quando um campo chave estiver em branco. O campo SKIPIF vai no documento de fonte de dados, não no documento principal, e impede que o registro apareça na saída.