Mala direta MERGE com filtros de mascara

Anônima
2024-11-19T16:13:51+00:00

Boa Tarde

Eu utilizava o WPS Office para fazer minhas malas diretas, porém foi alterado para o Office e ocorreu de quebrar uma função do campo mala direta.

Em um campo "Matricula" onde possui o numero do funcionário utilizava essa função no WPS:

 MERGEFIELD MATRICULA # [>=9999999]0!.000!.000-0;#000!.000-0

Ou seja se a matricula desse funcionário for 12222223 ele formataria para 1.222.222-3 ou se fosse 2222224 ele formataria para 222.222-4

Porém esta ficando desta forma (exemplo campo RG que também usa essa função, pois existe RG com menos de 08 dígitos)

 RG [>=9999999]40.!788.!210

No banco de dados no Excel essa formatação funciona perfeitamente, porem devido a algumas restrições de formato do documento não consigo puxar o PROCV formatado

Exemplo de como esta formatado no Excel e funciona para outras funções
=CONCATENAR(B2;", Matricula ";TEXTO(A2;"[>=9999999]0.000.000-0;#000.000-0");", RG ";TEXTO(E2;"[>=9999999]0.000.000;#000.000");", Filho de ";D2;" e ";C2;", ")

No excel funciona por que a formatação é realizada antes do word.

Alguns documentos necessito de apenas da numeração, mas no word a mascara não funciona.

grato da atenção de todos

Microsoft 365 e Office | Word | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

7 respostas

Classificar por: Mais útil
  1. Anônima
    2024-12-03T12:16:22+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Olá, caiquedias07

    Selecione meu exemplo e pressione F9 para atualizar e, em seguida, Alt+F9.

    Ou simplesmente termine a exportação da mesclagem conforme mostrado:

    Ou tente este código:

    { IF {MERGEFIELD MATRICULA} >= 10000000 "{MERGEFIELD MATRICULA \# "0'.'000'.'000'-'0"}" "{MERGEFIELD MATRICULA \# "###'.'###'-'#"}" }
    

    Felicidades

    Aiden.C - MSFT |Especialista em suporte da comunidade Microsoft

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2024-12-02T15:19:48+00:00

    Fiz o mesmo procedimento das Print, porém no meu office ele aparece "MATRICULA" que é o nome do campo e não aplica os filtros.

    Pode ser algo que eu possa estar fazendo errado.

    Posso lhe enviar os arquivos que utilizo para verificar ?

    #ATUALIZAÇÃO

    Realizei um teste de acordo com as informações da post acima, desta forma:

    { IF  {8517773} >= 9999999  # 0'.'000'.'000'-'0 ; #000'.'000'-'0 }

    Me retornou este resultado abaixo de 10000000 = 0.851.777-3 ( gostaria que não exibisse '0.' no inicio

    Me retornou este resultado acima de 10000000 = 1.315.133-7 (resultado desejado)

    porém da forma proposta igual ao seu exemplo não obtive sucesso.

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2024-11-23T03:47:26+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Olá, caiquedias07

    Você pode me dizer qual problema você está tendo com o comando IF? Porque não recebo nenhuma exceção quando testo.

    Aqui estão meus dados de origem:

    Gráfico de teste:

    Enquanto isso, enviei meu arquivo de teste por mensagem privada, que você pode ver aqui:

    Aguardamos sua resposta.

    Felicidades

    Aiden.C - MSFT |Especialista em suporte da comunidade Microsoft

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2024-11-22T13:15:48+00:00

    Prezado

    Da forma proposta não funcionou o comando IF. A primeira solução funcionou as pontuações porem quando o numero é menor que 8 dígitos fica "000.793.574-5"

    Sempre o ultimo número será o "digito"  Ex: 1.216.244-2

    No WPS Office o IF era feito dentro do campo MERGEFIELD. Creio que por ele ser uma "cópia" do Office o comando funcione com outra forma que não consigo compreender.

    muito obrigado pelo suporte

    Esta resposta foi útil?

    0 comentários Sem comentários
  5. Anônima
    2024-11-21T07:36:28+00:00

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou palavras estranhas.

    Olá, caiquedias07

    Obrigado por usar os produtos da Microsoft e publicá-los na comunidade.

    Você pode modificar o código de campo diretamente:

    Localize o campo MERGEFIELD e modifique-o para:

    { MERGEFIELD MATRICULA \# "000'.'000'.'000'-'0" }
    

    Ou use condições IF:

    Use condições SE para lógica mais complexa:

     { IF { MERGEFIELD MATRICULA } >= 10000000 "{ MERGEFIELD MATRICULA \# "0'.'000'.'000'-'0" }" "{ MERGEFIELD MATRICULA \# "000'.'000'-'0" }" }
    

    Esse código verifica se o número é maior ou igual a 10000000 e aplica o formato apropriado.

    Espero que as informações acima possam ajudá-lo. Sinta-se à vontade para enviar uma mensagem se precisar de mais ajuda.

    Felicidades

    Aiden.C - MSFT |Especialista em suporte da comunidade Microsoft

    Esta resposta foi útil?

    0 comentários Sem comentários