Por que a Mala Direta do Word Adiciona Decimais Extras em Campos Numéricos do Excel
🔍 WiseChecker

Por que a Mala Direta do Word Adiciona Decimais Extras em Campos Numéricos do Excel

Ao executar uma mala direta no Word usando uma planilha do Excel como fonte de dados, campos numéricos como preços, quantidades ou porcentagens podem aparecer com decimais extras inesperados — por exemplo, 25.0000 em vez de 25 ou 19.990000000000002 em vez de 20. Isso acontece porque o Word interpreta os dados numéricos do Excel como valores de ponto flutuante, em vez de texto formatado ou moeda. Os decimais extras não são sinal de corrupção de dados; são um efeito colateral de como o mecanismo de mala direta do Word lê os valores das células da pasta de trabalho do Excel. Este artigo explica exatamente por que o Word adiciona esses decimais e fornece três métodos confiáveis para removê-los, garantindo que seus documentos mesclados exibam números limpos.

Principais Conclusões: Corrigindo Decimais Extras em Números da Mala Direta do Word

  • Formatação da fonte de dados no Excel: Formatando as células como Texto ou usando a função TEXTO, evita que o Word leia os valores brutos de ponto flutuante.
  • Comutador de campo de mala direta \# “0.00”: Adicionar um comutador de imagem numérica ao código MERGEFIELD no Word força a saída para duas casas decimais.
  • Conexão de campo de banco de dados via DDE: Usar o Dynamic Data Exchange em vez da conexão OLEDB padrão preserva a formatação exibida no Excel.

ADVERTISEMENT

Por que a Mala Direta do Word Lê Números do Excel como Valores de Ponto Flutuante

Quando você conecta o Word a uma pasta de trabalho do Excel durante uma mala direta, o Word não usa o formato exibido da célula — ele lê o valor subjacente da célula. O Excel armazena todos os números em um formato binário de ponto flutuante conhecido como IEEE 754 de dupla precisão. Um número como 19,99 é armazenado como uma aproximação: 19,989999999999998. O mecanismo de mala direta do Word recupera esse valor bruto e o converte em texto, o que pode produzir longas sequências decimais como 19,989999999999998 ou 25,000000000000000. Esse comportamento não é um bug; é o resultado esperado do Word consultar a fonte de dados do Excel por meio do provedor OLEDB padrão.

O problema aparece com mais frequência em campos de moeda, porcentagens e colunas calculadas. A formatação exibida no Excel (por exemplo, mostrar 19,99 ou 25%) é apenas uma camada visual — a célula subjacente contém o número completo de ponto flutuante. O Word ignora as configurações de formato de número do Excel ao importar os dados. Para contornar isso, você deve preparar os dados do Excel para que o Word receba uma string de texto ou instruir o Word a formatar o número mesclado usando um comutador de campo.

Por que o Provedor OLEDB Padrão Causa Decimais Extras

O método de conexão padrão do Word para fontes de dados do Excel é o provedor OLEDB. Esse provedor lê as primeiras oito linhas de cada coluna para adivinhar o tipo de dado. Se a coluna contiver principalmente números, o OLEDB trata toda a coluna como um campo de ponto flutuante (Double). Todos os valores nessa coluna são então retornados como strings de ponto flutuante, incluindo os dígitos decimais extras. Mesmo se você formatar a coluna como Moeda ou Número no Excel, o provedor OLEDB desconsidera essa formatação e retorna o valor binário bruto.

Três Métodos para Remover Decimais Extras de Campos Numéricos da Mala Direta

Cada método abaixo aborda a causa raiz em um estágio diferente do processo de mesclagem. O Método 1 modifica a fonte do Excel, o Método 2 funciona dentro do Word após a inserção dos campos de mesclagem, e o Método 3 altera a forma como o Word se conecta ao arquivo do Excel. Escolha o método que melhor se adequa ao seu fluxo de trabalho.

Método 1: Formatar a Coluna do Excel como Texto Antes da Mesclagem

Este método impede que o Word leia o número como um valor de ponto flutuante, convertendo os dados em uma string de texto no Excel. A string de texto retém o formato de número exibido exatamente como você o vê no Excel.

  1. Abra a pasta de trabalho do Excel e selecione a coluna
    Clique na letra do cabeçalho da coluna (por exemplo, coluna B) que contém o campo numérico que está causando decimais extras.
  2. Aplique o formato de número Texto
    Na guia Página Inicial, clique no menu suspenso Formato de Número e escolha Texto. Se a coluna já contiver dados, o Excel avisará que o formato de número não pode ser alterado após a entrada de dados. Clique em OK para dispensar o aviso e, em seguida, reinsira os valores na coluna ou use a próxima etapa para converter os dados existentes.
  3. Reinsira os valores existentes usando uma coluna auxiliar
    Insira uma nova coluna ao lado da original. Na primeira célula da nova coluna, insira uma fórmula como =TEXTO(A1;"0,00") onde A1 é a primeira célula da coluna numérica original e “0,00” é o formato de número que você deseja exibir. Arraste a fórmula para baixo para copiá-la para todas as linhas. Copie a nova coluna e cole como Valores sobre a coluna original para remover a dependência da fórmula. Exclua a coluna auxiliar.
  4. Salve a pasta de trabalho e atualize a mala direta
    Salve o arquivo do Excel. No Word, abra a guia Correspondências, clique em Selecionar Destinatários e escolha Usar uma Lista Existente. Navegue até a pasta de trabalho atualizada e selecione a planilha. O Word agora lerá a coluna como texto e os números mesclados aparecerão exatamente como formatados na fórmula TEXTO.

Método 2: Adicionar um Comutador de Imagem Numérica ao Campo de Mesclagem no Word

Este método funciona inteiramente dentro do Word, sem alterar os dados do Excel. Você modifica o código do campo de mesclagem para informar ao Word quantas casas decimais exibir.

  1. Insira o campo de mesclagem normalmente
    Na guia Correspondências, clique em Inserir Campo de Mesclagem e selecione o campo numérico. Um espaço reservado como «Preço» aparece no documento.
  2. Exiba o código do campo
    Clique com o botão direito no espaço reservado do campo de mesclagem e selecione Alternar Códigos de Campo. O código do campo muda para algo como { MERGEFIELD Preço }.
  3. Adicione o comutador de imagem numérica
    Dentro das chaves, após o nome do campo, digite um espaço, uma barra invertida, um sinal de número e o padrão de formato entre aspas duplas. Para duas casas decimais, o código se torna { MERGEFIELD Preço \# "0,00" }. Para nenhuma casa decimal, use { MERGEFIELD Preço \# "0" }. Para moeda com símbolo de real, use { MERGEFIELD Preço \# "R$ #.##0,00" }.
  4. Alterne de volta e visualize
    Clique com o botão direito no código do campo novamente e selecione Alternar Códigos de Campo para retornar à visualização do espaço reservado. Clique em Visualizar Resultados na guia Correspondências para verificar se o número agora é exibido com as casas decimais corretas.

Método 3: Conectar-se ao Excel Usando Dynamic Data Exchange (DDE)

Este método altera o método de conexão de OLEDB para DDE, que preserva a formatação exibida no Excel. O DDE é um protocolo mais antigo, mas lê o valor formatado que o Excel mostra na tela, em vez do número bruto de ponto flutuante.

  1. Abra o Assistente de Mala Direta
    Na guia Correspondências, clique em Iniciar Mala Direta e escolha Assistente de Mala Direta Passo a Passo. O painel do assistente é aberto no lado direito.
  2. Selecione o arquivo do Excel usando DDE
    Na etapa 3 do assistente, clique em Procurar. Na caixa de diálogo Selecionar Fonte de Dados, localize seu arquivo do Excel. Não clique em Abrir ainda. Clique na seta suspensa ao lado do botão Abrir e selecione Abrir com DDE. Uma caixa de diálogo pergunta qual planilha usar; selecione a planilha correta e clique em OK.
  3. Confirme a fonte de dados
    O Word pode solicitar que você confirme a fonte de dados. Clique em OK. Os campos de mesclagem agora puxarão os valores formatados do Excel, incluindo as casas decimais conforme aparecem na célula.
  4. Conclua a mesclagem normalmente
    Insira os campos de mesclagem e finalize a mesclagem. Os números devem corresponder exatamente à exibição do Excel.

ADVERTISEMENT

Se o Word Ainda Mostrar Decimais Extras Após a Correção Principal

Word Exibe 25.000000000000000 em Vez de 25

Isso indica que a coluna ainda está sendo lida como um valor de ponto flutuante. Aplique o Método 1 novamente, mas certifique-se de que a coluna do Excel esteja formatada como Texto antes de adicionar qualquer dado. Se os dados já existirem, use a função TEXTO para converter toda a coluna em uma string de texto com o formato desejado. Após salvar a pasta de trabalho, feche e reabra o Word antes de atualizar a fonte de dados.

Word Mostra 19.989999999999998 em Vez de 19,99

Este é o clássico artefato de arredondamento de ponto flutuante. O comutador de imagem numérica do Método 2 é a correção mais rápida. Use o padrão \# "0,00" para forçar duas casas decimais. Se o comutador não funcionar, verifique se você digitou um espaço antes da barra invertida e se o código do campo não tem espaços extras dentro das chaves.

Conexão DDE Falha ou Está Desabilitada

A opção DDE pode estar indisponível se sua pasta de trabalho do Excel estiver aberta em outro programa ou se o arquivo estiver armazenado em uma unidade de rede. Feche o Excel e qualquer outro programa que tenha o arquivo aberto. Copie a pasta de trabalho para uma pasta local e tente novamente. Se a opção Abrir com DDE ainda não aparecer, execute a ferramenta de reparo de instalação do Microsoft Office para registrar novamente os arquivos DLL do DDE.

OLEDB vs DDE: Diferenças no Tratamento de Números

Item OLEDB (Padrão) DDE (Legado)
Detecção de tipo de dado Examina as primeiras 8 linhas para adivinhar o tipo da coluna Lê o formato de exibição da célula diretamente
Precisão numérica Retorna o valor bruto de ponto flutuante IEEE 754 Retorna o texto formatado conforme exibido no Excel
Exibição decimal Pode mostrar muitos dígitos extras (ex.: 25.000000000000000) Mostra exatamente o número de casas decimais definido no Excel
Compatibilidade Funciona com todas as versões modernas do Excel Pode falhar com pastas de trabalho muito grandes ou arquivos de rede
Esforço de configuração Nenhuma etapa extra necessária Requer seleção manual de Abrir com DDE

Após aplicar um dos três métodos, seus documentos de mala direta exibirão números exatamente como você pretende — sem dígitos decimais ocultos. Se você mescla regularmente dados numéricos do Excel, considere criar um modelo reutilizável que inclua o comutador de imagem numérica em cada campo de mesclagem numérica. Essa abordagem economiza tempo e evita que o problema ocorra novamente em mesclagens futuras. Para colunas que precisam permanecer como números no Excel, a função TEXTO combinada com uma coluna auxiliar fornece os resultados mais previsíveis em diferentes versões do Word.

ADVERTISEMENT