Я слил письмо, столкнулся с проблемой, как нумерованные списки и условные выражения if/then/else взаимодействуют. Могут ли помочь мне специалисты по Microsoft Word? :-)

Представьте себе нумерованный список примерно так:

1. You are awesome 2. You are not awesome 3. This is something else

Теперь представьте, что элементы, которые появляются рядом с # 1-2, являются взаимоисключающими. Таким образом, есть два желаемых возможных результата после слияния:

ЖЕЛАЕМЫЙ ВЫХОД ДЛЯ УДИВИТЕЛЬНОГО ДЕЛА

1. You are awesome 2. This is something else

ИЛИ ЖЕ

ЖЕЛАЕМЫЙ ВЫХОД ДЛЯ НЕВЕДУЩЕГО СЛУЧАЯ

1. You are not awesome 2. This is something else

Фактический вывод выглядит так:

АКТУАЛЬНЫЙ ВЫХОД ДЛЯ УДИВИТЕЛЬНОГО ДЕЛА

1. You are awesome 2. 3. This is something else

АКТУАЛЬНЫЙ ВЫХОД ДЛЯ НЕОБЫЧНОГО ДЕЛА

1. 2. You are not awesome 3. This is something else

Вот код, который я использую:

{ IF {MERGEFIELD IS_AWESOME} = "x" "You are awesome"} } { IF {MERGEFIELD IS_NOT_AWESOME} = "x" "You are not awesome"} }

К этим строкам применяется формат "нумерованный список". (Я не знаю, как сделать так, чтобы позиция отображалась в виде нумерованного списка без использования стандартной кнопки "нумерованный список".)

Я могу представить себе обходной путь, в котором я использую вложенные операторы if для подавления пустых строк, объединяя все условия пронумерованных пунктов 1-3. Но мой реальный пример состоит из 12 строк, и число операторов if-then будет экспоненциально большим.

Есть ли прямой способ заставить Microsoft Word генерировать желаемый результат?

Спасибо!

1 ответ1

1

Я думаю, что если вы включите соответствующие доходы в формулу, это будет работать:

{ IF {MERGEFIELD IS_NOT_AWESOME} = "x" "You are not awesome<RET>"} }

потому что когда формула удаляет текст (если IF не true), возвращаемый результат также удаляется, поэтому вы не получите пустую строку с номером.

вам придется удалить ваши теперь «дополнительные» возвраты, и IF будут в одном непрерывном потоке, что оптически немного неприятно - но это должно работать; Я использовал это раньше:

{ IF {MERGEFIELD IS_AWESOME} = "x" "You are awesome<RET>"} }{ IF {MERGEFIELD IS_NOT_AWESOME} = "x" "You are not awesome<RET>"} }

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