Mala direta do MS Word: validar dados

0

É possível implementar regras de validação em uma mala direta do Word? Desejo configurar o arquivo do Word para que, se um determinado teste falhar, o Word execute alguma ação ao tentar concluir a mesclagem. Aqui está um exemplo:

Estou criando cartas para um grande arquivo Excel de pessoas que mostrará seu nome e endereço de correspondência no topo. Se qualquer registro tiver um valor em branco para o campo "Sobrenome", por exemplo, o Word não permitirá a mesclagem e, em vez disso, exibirá uma mensagem para o usuário.

Estou feliz em escrever algo em VBA, se necessário, mas não sei se o Word tem algum tipo de funcionalidade para esse tipo de finalidade. Usando o Word 2013, mas tenha acesso a qualquer versão 2003 +.

Obrigado.

    
por kad81 24.04.2014 / 01:16

1 resposta

0

O Word tem um recurso "Verificar erros", mas ele realmente verifica apenas alguns tipos de erros, por exemplo, Provavelmente, ele obterá um erro de sintaxe em um campo {=} no caso em que os dados não são realmente numéricos.

Para certos tipos de erro, você pode considerar ter um documento MailMerge de teste para cada documento MailMerge real - por exemplo, Use um campo IFO teste explicitamente verificará um Sobrenome em branco e inserirá "Erro: Sobrenome em branco" na saída. Se o usuário não vir nenhum erro no teste, ele irá para a situação real.

Mas os campos só podem testar muito. Além disso, o VBA é provavelmente o caminho a percorrer. Mas, em seguida, você precisaria testar os dados como o Word MailMerge vai vê-lo, o que realmente significa que você precisa usar a coleção MailMerge.DataSource.Datafields para inspecionar os dados para cada registro. Caso contrário, se por exemplo você usar automação OLE para abrir a pasta de trabalho e verificar os dados, você poderá obter resultados diferentes de quando o Word Mailmerge abre usando o banco de dados OLE. Nesse caso, há pelo menos um problema em potencial, que é que os valores de dados com mais de 255 caracteres são truncados no DataSource.

    
por 25.04.2014 / 08:36