2

Я пытаюсь создать последовательный список, используя коды полей и слияния. Моя проблема в том, что некоторые элементы не должны появляться в списке, в зависимости от того, как происходит слияние почты. Это сбивает с толку, поэтому я приведу пример.

Допустим, я составляю список величин для различных фруктов. У меня есть документ слияния, в котором говорится, сколько у меня яблок, апельсинов и груш. Таким образом, список может выглядеть так:

  1. Есть 32 яблока.
  2. Есть 27 апельсинов.
  3. Есть 3 груши.

Используя коды полей, это выглядит как:

(SEQ list1) Есть яблоки (MERGEFIELD "Яблоки").

(SEQ list1) Есть (MERGEFIELD "Апельсины") апельсины.

(Список SEQ 1) Есть груши (MERGEFIELD "Груши").

Теперь, если нет апельсинов, я не хочу, чтобы это было в списке вообще. Я просто хочу, чтобы список выглядел так:

  1. Есть 32 яблока.
  2. Есть 3 груши.

Для этого я использую условия if/then. (IF (MERGEFIELD Oranges) = 0 "" "(SEQ list1) Есть (MERGEFIELD" Яблоки ") яблоки. Это успешно удаляет апельсины из списка, но остается пробел:

  1. Есть 32 яблока.

  2. Есть 3 груши.

Я пытался всеми возможными способами избавиться от этого места, но я не могу понять это. Возможно, кто-то здесь мог бы помочь мне.

1 ответ1

1

Чтобы избежать лишних пробелов, вам нужно поместить знак абзаца внутри текста поля IF, чтобы у вас было что-то вроде этого

{ 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.

Другими словами, вам нужно вставить знак абзаца перед окончательной двойной кавычкой в каждом поле IF.

Однако этого недостаточно, поскольку Word оценивает поля SEQ даже в случае, когда {MERGEFIELD Apples} равен 0 и т.д., Поэтому, если яблок нет, поле SEQ для апельсинов будет иметь значение 2, а не 1. В слиянии вы можете обойти это, используя это:

{ 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.

(Можно использовать поля SEQ, но это сложнее).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .