Imprimindo várias planilhas com Mala Direta (Excel / Word)

0

Eu preciso criar cartas com o MS Word. Em cada carta, precisamos de um código que seja colocado na carta usando a mala direta. Algumas letras precisam ser impressas com mais frequência que outras. Eu preciso encontrar uma maneira de ter algumas letras criadas com mais freqüência do que outras, sem duplicar a quantidade de linhas no Excel. Temos uma coluna na lista com o número de vezes que a carta precisa ser impressa, mas não sei como usar esses dados na mala direta.

Colunas:

A: Amount (amount of times the letter needs to be printed)
B: Code 1
C: Code 2

Um exemplo dos documentos pode ser encontrado aqui .

Alguém sabe como fazer isso funcionar?

    
por topcats 08.02.2016 / 10:48

3 respostas

0

Depois de preparar a planilha no Excel e vinculá-la à mala direta de mensagens (start mail merge), use edit recipient e use Filter choose Amount igual para escrever o número de vezes, ele mostrará somente os registros com o respectivo Montante e você pode envie para imprimir

    
por 08.02.2016 / 11:33
0

"sem duplicar as linhas no Excel"

Uma maneira de fazer isso, contanto que você tenha uma contagem máxima possível de repetições, é fazendo uma mesclagem em duas etapas. Diga "Valor" pode ser 1, 2 ou 3.

No passo um você tem um documento principal de mala direta de diretório algo como isto:

{ IF { MERGESEQ } = 1 "Code1,Code2" }
{ IF { MERGEFIELD Amount } > 0 "{ MERGEFIELD Code1 },{ MERGEFIELD Code2 }" }
{ IF { MERGEFIELD Amount } > 1 "{ MERGEFIELD Code1 },{ MERGEFIELD Code2 }" }
{ IF { MERGEFIELD Amount } > 2 "{ MERGEFIELD Code1 },{ MERGEFIELD Code2 }" }

Mesclar isso com um documento de saída e você deverá ter um novo .docx com o número correto de cópias dos dados necessários. Use isso como sua fonte de dados para a etapa 2.

(Se os seus dados forem realmente mais complicados do que você sugeriu, talvez seja necessário lidar com a possibilidade de que seus campos de dados contenham vírgulas).

Existe uma outra abordagem possível de "duas etapas" que pode ser viável se você estiver usando o Windows Word, dependendo de quantas linhas sua planilha do Excel contém e quão grande "Quantidade" pode ser.

    
por 11.02.2016 / 17:44
0

Você está pedindo para fazer um loop de um único registro pelo número de iterações especificado na coluna de ajuda.

Com a configuração padrão do word / excel, não é possível.

A mesclagem do Word Mail tem a regra if..then..else , mas o campo then/else está limitado apenas ao texto. Os nomes dos campos {} não são reconhecidos lá. Além disso, a instrução if é comparada com um valor constante, não com uma variável da coluna auxiliar.

A maneira mais fácil é repetir a linha na lista de excel quantas vezes forem necessárias. Caso contrário, alguém com habilidades em VBA pode lançar alguma luz se esse loop for possível com a ajuda do VBA.

    
por 08.02.2016 / 11:22