Como criar quebras de parágrafo dentro de códigos de campo condicionais no Word 2010

2

Estou tentando criar uma lista sequencial usando códigos de campo e mala direta. Meu problema é que certos itens não precisam aparecer na lista, dependendo de como a mala direta vai. Isso é confuso, então vou dar um exemplo.

Digamos que eu esteja juntando uma lista de quantidades para várias frutas. Eu tenho um documento de mala direta que me diz quantas maçãs, laranjas e pêras eu tenho. Então, a lista pode parecer com:

  1. Existem 32 maçãs.
  2. Existem 27 laranjas.
  3. Existem 3 peras.

Usando códigos de campo, parece mais:

(SEQ list1) Existem maçãs (MERGEFIELD "Maçãs").

(SEQ list1) Existem laranjas (MERRYFIELD "Laranjas").

(lista SEQ 1) Existem pêras (MERGEFIELD "Peras").

Agora, se não houver laranjas, não quero que esteja na lista. Eu só quero que a lista pareça isso:

  1. Existem 32 maçãs.
  2. Existem 3 peras.

Para fazer isso, eu uso se / então condicionamento. (IF (MERGEFIELD Oranges) = 0 "" "(SEQ list1) Existem maçãs (MERGEFIELD" Apples "). Isto é bem sucedido em remover as laranjas da lista, mas permanece um espaço:

  1. Existem 32 maçãs.

  2. Existem 3 peras.

Eu tentei de todas as maneiras que posso me livrar desse espaço, mas não consigo entender. Talvez alguém aqui possa me ajudar.

    
por Thomas 09.11.2014 / 03:10

1 resposta

1

Para evitar o espaço extra, você precisa colocar a marca de parágrafo dentro do texto do campo IF, então você tem algo parecido com isto

{ IF { MERGEFIELD Apples } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Apples } apples.
" }{ IF { MERGEFIELD Oranges } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Oranges } oranges.
" }{ IF { MERGEFIELD Pears } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Pears } pears.
" }whatever text comes next, assuming that there is always at least one numbered paragraph.

Em outras palavras, você precisa inserir uma marca de parágrafo antes da aspa final em cada campo IF.

No entanto, isso não é suficiente, porque o Word avalia os campos SEQ mesmo no caso em que {MERGEFIELD Apples} é 0, etc., portanto, se não houver maçãs, o campo SEQ para Laranjas será avaliado como 2 em vez de 1. Em uma mesclagem você provavelmente pode contornar isso usando:

{ SET list1 0 }{ IF { MERGEFIELD Apples } = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Apples } apples.
" }{ IF { MERGEFIELD Oranges} = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Oranges } orangee.
" }{ IF { MERGEFIELD Pears } = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Pears } Pearss.
" }whatever text comes next, assuming that there is always at least one numbered paragraph.

(É possível usar campos SEQ, mas é mais complicado).

    
por 09.11.2014 / 13:29