Email Mail Merge via planilha do Excel vinculada

1

Eu tenho uma configuração de documento do MS Word 2007 como um documento de mala direta. Estou usando o Excel como fonte de dados. O MERGEFIELD ClientData contém um arquivo do Excel (test.xlsx).

Eu quero mesclar os dados do arquivo do Excel listado em ClientData no respectivo documento de Mala Direta. No entanto, sempre que eu inicio a Mala Direta, o campo {MERGEFIELD ClientData} é resolvido apenas uma vez e não seleciona a próxima linha de ClientData.

Então isso:

{LINK Excel.Sheet.12 "C:\path\to\file\{MERGEFIELD ClientData}" \a \f 4 \h}

Torna-se isso depois de iniciar a mesclagem:

{LINK Excel.Sheet.12 "C:\path\to\file\test.xlsx" \a \f 4 \h}

Assim, todo documento de Mala Direta usa o test.xlsx em vez do respectivo documento do Excel específico para o cliente (por exemplo, test1.xlsx, test2.xlsx, test3.xlsx, etc.)

Como a mesclagem é executada em cada documento de mala direta, espero ver isso:

{LINK Excel.Sheet.12 "C:\path\to\file\test.xlsx" \a \f 4 \h}

{LINK Excel.Sheet.12 "C:\path\to\file\test1.xlsx" \a \f 4 \h}

{LINK Excel.Sheet.12 "C:\path\to\file\test2.xlsx" \a \f 4 \h}

{LINK Excel.Sheet.12 "C:\path\to\file\test3.xlsx" \a \f 4 \h}

Mas, por algum motivo, isso não está acontecendo. Alguém tem alguma sugestão?

Obrigado!

    
por Joe Perrin 04.12.2012 / 20:11

1 resposta

1

O problema é que os campos LINK sempre resolvem todos os campos aninhados, mais cedo ou mais tarde.

Sua melhor aposta é provavelmente usar eventos do Mailmerge do Word e usar o evento BeforeRecordMerge para:

  • a. obter o nome do arquivo (test.xlsx etc.) (por exemplo, via Doc.Mailmerge.Datasource.Datafields("ClientData").Value )
  • b. ou conecte-o novamente ao campo LINK existente ou, mais facilmente, exclua o campo LINK existente e insira um novo.

Dica: insira um novo campo Vazio e insira todo o campo LINK.

    
por 21.12.2012 / 18:36