Mala direta usando a formatação condicional da barra de dados

0

Estou criando uma mala direta que produz relatórios personalizados para cada aluno. O conteúdo do documento do word contém uma barra que é marcada em unidades da pontuação mais baixa possível para a mais alta possível. Posso facilmente colocar o nome e a pontuação dos alunos no documento mesclando os dados de uma planilha do Excel. O que eu gostaria de fazer, no entanto, é indicar na barra de pontuação onde a pontuação dos alunos se encaixa. A formatação condicional "data bar" no excel funcionaria para mim. Eu apenas colocava sob a barra de pontuação e mostrava onde a pontuação dos alunos se encaixava na barra.
Eu entendo que não é possível mesclar formatos usando a mala direta. No entanto, existe uma maneira de mesclar uma "imagem" da célula formatada. Em outras palavras, em vez de mesclar o texto, eu estaria pegando um "ícone" da planilha e colocando-o no local apropriado no documento do Word. Obrigada

    
por Bruce 27.08.2014 / 20:25

1 resposta

1

Você pode tentar o seguinte, mas há várias condições, por exemplo, provavelmente terá apenas uma chance de funcionar se você puder mesclar em um novo documento e, em seguida, atualizar todos os códigos de campo. Eu não cobri todas as dificuldades aqui.

Estou supondo que você esteja usando o Windows Word.

Primeiro, digamos que seus dados estejam em "Folha1", com uma linha de cabeçalho padrão na linha 1 e os dados começando na linha 2, com a pontuação na coluna 5 e nomeada "pontuação"

Abra a pasta de trabalho no Excel

Defina a pasta de trabalho como a fonte de dados para a mesclagem

No Excel, selecione a pontuação na primeira linha de dados (linha 2, coluna 5) e Editar > Copiar

No Word, use Colar- > Especial para colar um link usando o formato Imagem.

No Word, se você pressionar Alt-F9, deverá ver um código de campo assim:

{ LINK Excel.Sheet.12 "C:\mysheets\databars1.xlsx" "Sheet1!R2C5" \a \p }

Selecione o "2" em "R2C5" e exclua-o, então ...

use ctrl-F9 para inserir um par de caracteres especiais de código de campo para que você tenha

{  }

clique dentro e use ctrl-F9 novamente para ter

{ {  } }

Dentro das chaves internas, digite MERGESEQ para que você tenha

{ { MERGESEQ } }

Antes das chaves internas, digite "=" e depois, digite "+1" para que você tenha

{ ={ MERGESEQ }+1 }

(Há dois campos que retornam números de linha reais para a fonte de dados. Não vou entrar nos detalhes aqui, mas uma das vantagens de {MERGESEQ} sobre {MERGEREC} neste caso é que {MERGESEQ} nenhum valor até que você realmente realize a mesclagem.

Se você agora usar Alt-F9 para exibir novamente o resultado do campo e F9 para atualizá-lo, provavelmente verá uma mensagem de erro.

Agora mescle para um novo documento. Novamente, você pode ter que tomar medidas para evitar erros. Quando a fusão for concluída, provavelmente você ainda verá erros no resultado. Use Alt-F9 - você verá campos LINK que tenham campos de cálculo como {= 1 + 1}, {= 2 + 1} neles.

Selecione o documento inteiro e pressione F9 para atualizar todos os campos. Você deve ver as barras das células relevantes. Em seguida, pressione shift-F9 para desvincular todos os campos (isso irá desvincular outras coisas também, então você pode não querer fazer isso.

Um problema com o Word é que ele tende a destruir campos que estão aninhados nos campos LINK, quando você atualiza o resultado do campo LINK ou quando salva e reabre o documento. Tenho quase certeza de que você verá isso se usar {MERGEREC} em vez de {MERGESEQ}. Para proteger-se contra isso, pode ser útil alterar o campo LINK para que ele não seja mais um campo LINK antes de salvar e alterá-lo novamente ao reabrir. por exemplo. mudar

{ LINK ... }

para

{ XLINK ... }

Obviamente, neste ponto, todo o procedimento tem etapas e dificuldades suficientes para que seja difícil entregar a outro usuário, mas essa é a única abordagem que sei que tem uma chance de funcionar. Caso contrário, você tem que

  • copiar fotos do Excel (se houver apenas muitas delas - se existem centenas de valores diferentes que eu não acho que seria prático) e usar algo como um campo IF para inserir as informações imagem para cada valor. Isso obviamente reflete a formatação escolhas quando você cria suas imagens, não na planilha no momento da mesclagem (por exemplo, e se você quiser alterar a cor da barra?) ou
  • use os eventos MailMerge do VBA e do Word (ou o pós-processamento, se você saída para um novo documento) para obter a imagem certa para cada linha.
por 28.08.2014 / 12:18