Поле IF
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 5 ]
1 Тема от Koba123v 22.03.2016 09:47:41
- Koba123v
- рядовой
- Неактивен
- Зарегистрирован: 22.03.2016
- Сообщений: 2
Тема: Поле IF
Имеется поле:
по-русски:
если значение в закладке по имени Результат равно «удовлетворить частично» значение поля «Иск в остальной части – оставить без удовлетворения».
Однако использование закладки для сравнения в моем случае жутко не удобно, при этом в справке указано, что значением для сравнения может быть, среди прочего, строкой текста.
Пожалуйста подскажите как задать строку текста в качестве значения для сравнения, а не поле слияние, числа или закладки?
2 Ответ от Alex_Gur 22.03.2016 10:33:03
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Re: Поле IF
Выражение может быть именем закладки, строкой текста, числом, вложенным полем, возвращающим значение, или математической формулой.
Как я понимаю, строка текста — это текст, который вводится в поле IF, а не текст из файла.
Привожу полное описание работы с полем IF:
В зависимости от результата сравнения двух выражений вставляет тот или иной текст. В основном документе слияния поле IF можно использовать для анализа записей данных, таких как почтовые индексы или номеров банковских счетов. Например, можно разослать письма только клиентам, проживающим в определенном городе.
Выражение1, Выражение2
Значения, которые требуется сравнить. Выражение может быть именем закладки, строкой текста, числом, вложенным полем, возвращающим значение, или математической формулой. Если выражение содержит пробелы, оно должно быть заключено в кавычки.
Оператор
Оператор сравнения. Пробелы перед оператором и после него являются обязательными.
Оператор Описание
= Равно
<> Не равно
> Больше
= Больше или равно
, то Выражение2 может содержать вопросительный знак (?), заменяющий любой отдельный знак, или звездочку (*), заменяющую любую строку символов. Такое выражение должно быть заключено в кавычки. Если Выражение2 содержит звездочку, то сумма длин фрагмента Выражения1, соответствующего этой звездочке, и остальных знаков значения Выражения2 не должна превышать 128 знаков.
Примеры
В приведенном ниже примере указано, что если заказ клиента равен или больше 100 единиц продукции, то будет выведено слово «Спасибо», а если клиент заказывает менее 100 единиц продукции, то будет выведено уведомление «Минимальный заказ равен 100 единиц».
=100 «Спасибо» «Минимальный заказ равен 100 единиц»>
Примеры полей IF
Поле IF выполняет одну из двух операций в зависимости от указанных условий. Например, утверждение «Если погода будет хорошей, мы прогуляемся по парку, а если нет — пойдем в кино» определяет условие, (хорошая погода), при котором произойдет определенное событие (прогулка по парку). Если это условие не соблюдено, происходит альтернативное событие (поход в кино).
Приведенное ниже поле IF представляет собой утверждение того же типа. Если текущая запись данных содержит значение «Саратов» в поле «Город», в документ, полученный в результате слияния с этой записью данных, будет включен текст, содержащийся в первых кавычках. В противном случае будет добавлен второй текст. Следующий пример использует поля IF и MERGEFIELD.
< IF < MERGEFIELD Город >= «Саратов» «Пожалуйста, позвоните в местное отделение нашей фирмы.» «Пожалуйста, отправьте заполненный формуляр в приложенном конверте.» >
Чтобы вставить поле IF в документ, на панели инструментов Слияние нажмите кнопку Добавить поле Word, а затем выберите поле IF. THEN. ELSE.
Ниже приведены некоторые примеры способов изменения кодов поля IF.
Сравнение поля данных с другим полем или закладкой
В приведенном ниже примере выполняется сравнение значения поля данных «Ставка» со значением поля данных «Скидка». Если числа равны, печатается указанный текст.
< IF < MERGEFIELD Ставка >= < MERGEFIELD Скидка >«Мы предложим вам еще большую скидку. » » » >
(Если число в поле данных «Ставка» не равно числу в поле данных «Скидка», текст не печатается.)
Вставка других полей Word в поле IF
Пример 1
В случае выполнения условия, указанного в приведенном ниже поле IF, в документ вставляется содержимое файла, указанного в поле INCLUDETEXT. При задании местоположения и имени включаемого документа следует использовать двойные обратные косые черты (), как показано в примере. Если условие не будет выполнено, будет вставлен элемент списка автотекста «Авторское право».
< IF < MERGEFIELD Штат >= » Нью-Йорк » «< INCLUDETEXT c:worddocscontract.doc >» «< AUTOTEXT Авторское право >» >
Пример 2
Если поле «Компания» в записи данных содержит какую-либо информацию — т. е. не является пустым, — печатается текст из поля «АдресКомпании». В противном случае печатается текст из поля «ДомашнийАдрес».
< IF < MERGEFIELD Компания ><> » » «< MERGEFIELD АдресКомпании >» «< MERGEFIELD ДомашнийАдрес >» >
Выполнение вычислений в поле IF
В приведенном ниже примере первое поле = (Формула) вычисляет текущее сальдо для каждого счета. Если сальдо положительно, печатается значение второго поля = (Формула). Если вычисленное сальдо равно 0 (нулю) или отрицательно, печатается альтернативный текст «Ваш счет пуст. Спасибо.».
< IF < = < MERGEFIELD Сальдо >— > > 0 «Текущее сальдо < = < MERGEFIELD Сальдо >— < MERGEFIELD Платеж ># «#,##0.00р.; » >.» «Ваш счет пуст. Спасибо» >
Задание нескольких условий
Чтобы задать несколько условий в поле IF, в него следует включить поле COMPARE или другие поля IF.
Пример 1
В приведенном ниже примере при слиянии каждой записи данных поле COMPARE сравнивает поля данных «НомерКлиента» и «РангКлиента». Функция AND в поле = (Формула) возвращает значение «1» (истина), если значения обоих полей указывают на удовлетворительное состояние счета. В этом случае печатается текст из первых кавычек.
< IF < = AND ( < COMPARE < MERGEFIELD НомерКлиента >>= 4 >,
Функция ЕСЛИ
В этом курсе:
Функция ЕСЛИ — одна из самых популярных функций в Excel. Она позволяет выполнять логические сравнения значений и ожидаемых результатов.
Поэтому у функции ЕСЛИ возможны два результата. Первый результат возвращается в случае, если сравнение истинно, второй — если сравнение ложно.
Например, функция =ЕСЛИ(C2=»Да»;1;2) означает следующее: ЕСЛИ(С2=»Да», то вернуть 1, в противном случае вернуть 2).
Функция ЕСЛИ, одна из логических функций, служит для возвращения разных значений в зависимости от того, соблюдается ли условие.
ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])
Условие, которое нужно проверить.
Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА.
Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ.
Простые примеры функции ЕСЛИ
В примере выше ячейка D2 содержит формулу: ЕСЛИ(C2 = Да, то вернуть 1, в противном случае вернуть 2)
В этом примере ячейка D2 содержит формулу: ЕСЛИ(C2 = 1, то вернуть текст «Да», в противном случае вернуть текст «Нет»). Как видите, функцию ЕСЛИ можно использовать для сравнения и текста, и значений. А еще с ее помощью можно оценивать ошибки. Вы можете не только проверять, равно ли одно значение другому, возвращая один результат, но и использовать математические операторы и выполнять дополнительные вычисления в зависимости от условий. Для выполнения нескольких сравнений можно использовать несколько вложенных функций ЕСЛИ.
B2;»Превышение бюджета»,»В пределах бюджета»)» xmlns_AntiXSS=»urn:AntiXSSExtensions» />
=ЕСЛИ(C2>B2;»Превышение бюджета»;»В пределах бюджета»)
В примере выше функция ЕСЛИ в ячейке D2 означает: ЕСЛИ(C2 больше B2, то вернуть текст «Превышение бюджета», в противном случае вернуть текст «В пределах бюджета»)
B2;C2-B2;»»)» xmlns_AntiXSS=»urn:AntiXSSExtensions» />
На рисунке выше мы возвращаем не текст, а результат математического вычисления. Формула в ячейке E2 означает: ЕСЛИ(значение «Фактические» больше значения «Плановые», то вычесть сумму «Плановые» из суммы «Фактические», в противном случае ничего не возвращать).
В этом примере формула в ячейке F7 означает: ЕСЛИ(E7 = «Да», то вычислить общую сумму в ячейке F5 и умножить на 8,25 %, в противном случае налога с продажи нет, поэтому вернуть 0)
Примечание: Если вы используете текст в формулах, заключайте его в кавычки (пример: «Текст»). Единственное исключение — слова ИСТИНА и ЛОЖЬ, которые Excel распознает автоматически.
Использование формул в ворде
Обычно в Word создаются таблицы, которые содержат числовую информацию, такую как простые выписки или прайс-листы. Если бы потребовалось применить простые операции расчета, эти формулы можно решить в программе Word без необходимости использования электронной таблицы Excel. В этом разделе обсуждается использование основных математических операторов и функций для разработки простых операций вычисления в таблицах Word.
Возможно вы искали статью на тему Как написать математическую формулу в ворд
Сумма в ворде
Для настройки операции суммирования необходимо использовать поле формулы, действуя следующим образом:
1 — Поместите точку вставки в ячейку, где должен быть получен результат.
2 — На вкладке «Макет» группы кнопок «данные» нажмите кнопку Формула FX
После того, как вы нажали кнопку «Формула» на вкладке «Макет», откроется диалоговое окно «Формула», в котором в качестве параметра предлагается ввести функцию суммы = SUM (ВЫШЕ)
Word: диалоговое окно «Формула»
В окне Формула по умолчанию предлагается операция суммирования ( SUM ).
Названия функций расчета, применимых в Word, в последних версиях программы, больше не переводятся.
Предлагаемых операторов 18 и в их синтаксисе в скобках необходимо указывать направление расчета. Например, выше ( ABOVE ), ниже (BELOW) , слева ( LEFT ), справа RIGHT )
Функции AVERAGE (), COUNT (), MAX (), MIN (), PRODUCT () и SUM () также могут принимать ссылки на ячейки таблицы в качестве аргументов. ссылочные координаты в режиме Excel или в первом столбце таблицы будут называться A, затем B, C, D …. и первая строка 1, а затем 2,3,4 ….
Пример: чтобы добавить значения в столбец 2 вместо = SUM (ABOVE), можно написать = B2 + B3 + B4, учитывая, что подразумеваются альфа-заголовки (как если бы мы были в листе Excel) –числа столбцов и строк.
В этом режиме выражения формулы можно организовать еще более сложные расчеты, например, расчет НДС (см. Изображение ниже).
При построении этих формул следует учитывать, что они будут выполняться слева направо. Как и в математических уравнениях, операторы * (умножение) и / (деление) будут иметь приоритет при расчете сумм и вычитаний.
Если были суммы или вычитания, которые можно было выполнить перед умножением или делением, они будут заключены в скобки (). Пример = (А1 + А2) * А5
Обновить формулы в ворде
Формулы в Word автоматически обновляются при открытии документа. Вы можете вручную обновить результат формулы. Просто выделите результат и щелкните правой кнопкой мыши по нему и выберите опцию «Обновить поле».
Функции расчета доступны в Word
Все функции, рассмотренные в Word, перечислены ниже.
ABS Возвращает положительное значение числа формулы, независимо от того, является ли его значение положительным или отрицательным.
AND Возвращает значение 1, если все выраженные логические выражения являются истинными, или значение 0 (ноль), если хотя бы одно из выражений является ложным.
AVERAGE Рассчитывает среднее значение ряда значений.
COUNT Подсчитывает количество элементов в списке.
DEFINED Возвращает значение 1 или 0 в зависимости от того, является ли выражение допустимым или не может быть вычислено.
FALSE Возвращает нулевое значение.
IF Вычисляет первый аргумент. Если первый аргумент является истинным, возвращает второй аргумент; если ложным — третий. Пример (=IF(SUM(ABOVE)>10;да;нет))
INT Возвращает только целочисленные значения, исключая десятичные дроби без аппроксимации.
MIN Возвращает наименьшее значение числового ряда.
MAX Возвращает наибольшее значение числового ряда.
MOD Возвращает остаток, полученный в результате деления значения x на значение y несколько раз.
NOT Возвращает значение 0 (false), если логическое выражение x истинно, или значение 1 (true), если выражение ложно. ИЛИ Возвращает значение 1 (истина), если одно или оба из логических выражений x и y являются истиной, или значение 0 (ложь), если оба выражения ложны.
OR Имеет два аргумента. Если хотя бы один из них является истинным, возвращает значение 1. Если оба аргумента являются ложными, возвращает значение 0. В основном используется в функции IF.
PRODUCT Рассчитать произведение элементов, указанных в скобках.
ROUND. Вернуть округленное значение для указанного числа десятичных знаков.
SIGN Возвращает значение 1, если ссылочная ячейка x имеет положительное значение, -1 и отрицательное.
SUM Рассчитать сумму заданного диапазона ячеек TRUE Возвращает значение 1.
TRUE Если аргумент является истинным, возвращает значение 1, если ложным — 0. В основном используется в функции IF.
Использование оператора условного выполнения IF, Закладок и Полей в Word 2010
Технический уровень : Базовый
Автоматизация в заполнении Форм, Бланков, Отчётов при помощи Закладок и Полей, с использованием оператора условного выполнения IF для проверки числового значения, и в зависимости от результата проверки выводить соответствующее числовое значение или соответствующих текст.
Пусть нам требуется в строке числового значения «Сумма возможного кредита» проверка на выполнение условия: «Если Запрашиваемая сумма больше Расчётного лимита, то выводится числовое значение Расчётного лимита, если меньше – то числовое значение «Запрашиваемая сумма»:
Расчётные данные Числовые значения
Запрашиваемая сумма 500000
Расчётный лимит 650000
Сумма возможного кредита
Шаг 1: Выделяем поочерёдно числовые значения и на вкладке «Вставка», нажав «Закладка», создаём закладки. С присвоением для числового значения «Запрашиваемая сумма» – имени «Сумма», для числового значения «Расчётный лимит» – имени «Лимит»:
Расчётные данные Числовые значения
Запрашиваемая сумма 500000
Расчётный лимит 650000
Сумма возможного кредита
Шаг 2: Устанавливаем курсор в строку числового значения поля «Сумма возможного кредита». Нажатием сочетания клавиш Ctrl + F 9, вводим Поле, и вставляем между скобками формулу:
=IF(Сумма>Лимит;Лимит;Сумма) # «# ##0,00р.;(# ##0,00р.)»
Результатом, после обновления вычисляемого Поля, станет вывод числового значения, согласно заданного нами условия:
Расчётные данные Числовые значения
Запрашиваемая сумма 500000
Расчётный лимит 650000
Сумма возможного кредита 500 000,00р.
!Важно: знак равно «=» означает проверку и вывод результат числовых значений, отсутствие знака — выводит текстовую часть (для данного примера «Лимит» или «Сумма» соответственно).
Строку «Сумма возможного кредита» с полем, можно заменить на два изменяющихся в зависимости от значений, Поля:
IF Сумма > Лимит «Выдача кредита возможна в сумме Лимита в размере:» «Выдача кредита возможна в размере запрашиваемой суммы:» * MERGEFORMAT
=IF(Сумма>Лимит;Лимит;Сумма) # «# ##0,00р.;(# ##0,00р.)»
Результатом, после обновления вычисляемых Полей, станет вывод соответствующих текстовых и числовых значений согласно заданных нами условий:
Расчётные данные Числовые значения
Запрашиваемая сумма 500000
Расчётный лимит 650000
Выдача кредита возможна в размере запрашиваемой суммы : 500 000,00р.
Или, если запрашиваемая сумма больше расчётного Лимита:
Расчётные данные Числовые значения
Запрашиваемая сумма 8500000
Расчётный лимит 650000
Выдача кредита возможна в сумме Лимита в размере : 650 000,00р.
Связку Закладка — Поле, можно так же использовать для автоматизации изменений в документе.
Изменяя текст в Закладке, мы автоматически изменяем текст во всех местах, где расположено такое Поле:
Функции Microsoft Word, которые вам захочется применить в своей работе
Оказывается, люди годами работают в Word, но не знают его базовых возможностей либо не следят за нововведениями. Пора навёрстывать!
Пара слов о том, зачем я вообще взялся описывать вовсе не уникальные функции Microsoft Word. Статья зрела в моей голове не спеша. Раз за разом мне приходилось описывать одни и те же возможности редактора своим коллегам и близким. Их неприкрытое прозрение удивление от увиденного и побудило меня написать этот материал. Надеюсь, что вы тоже почерпнёте для себя что-то новое.
1. Начинайте печатать в любом месте
Функция «Кликни и пиши» не нова, однако о ней наслышаны далеко не все. Частенько приходится наблюдать, как человек много раз клацает по кнопке «Ввод», чтобы добраться до конца страницы и там, к примеру, вписать исполнителя письма.
Двойной клик мышью может заменить десяток ударов по клавише.
Наведите курсор на предполагаемое место печати и сделайте пару быстрых нажатий мышкой. Word сам расставит новые строки, табуляцию и засечки для того места, которые вы ему указали. Это хорошо видно при просмотре скрытых знаков форматирования.
2. Переводите сходу
Спросите ближнего своего о том, какой переводчик он предпочитает, и вы, скорее всего, услышите о Google, «Яндекс», PROMT, но вряд ли о Bing. Почему-то фирменный переводчик Microsoft не пользуется в наших краях большой популярностью. И зря, ведь качества его работы вполне достаточно для повседневных нужд. Разумеется, в пакете Office предусмотрен быстрый перевод текста при помощи Bing. Рекомендую его попробовать.
Вполне возможно, вы перестанете метаться между браузером и Word, бесконечно копируя и вставляя предложения туда-обратно.
К вашему выбору несколько десятков языков и три способа перевода. Найти их можно на вкладке «Рецензирование».
3. Используйте кернинг
Дизайнеры хорошо знают, что такое кернинг, и часто им оперируют при вёрстке текстов. Говоря простым языком, кернинг отвечает за интервал (расстояние) между буквами в зависимости от их формы. Изменение этого параметра может сжать или расширить одно и то же слово, предложение или абзац в сравнении со стандартным состоянием. Мне доводилось видеть, как люди начинали удалять часть текста или, наоборот, «лить воду» только для того, чтобы уместить его в определённые рамки. Кернинг решает подобные проблемы более изысканно. Конечно, грубая игра с ним сильно режет глаз, но незначительные манипуляции могут быть уместны.
Изменение кернинга будет кстати и при использовании шрифтов большого размера, например при подготовке титульных страниц книг, статей, докладов.
Нажмите комбинацию Ctrl + D, чтобы вызвать диалоговое окно «Шрифт», перейдите на вторую закладку «Дополнительно». Здесь вы и сможете побаловаться с кернингом. И ещё немного в тему. Просто мимолётом хочу познакомить вас с интересной браузерной игрой KernType, в которой вам необходимо угадать наилучший для чтения кернинг. Enjoy!
4. Применяйте скрытый текст
Может ли пустой документ Word весить десятки и сотни мегабайт? Да! И у многих при этом происходит помутнение разума. Люди не видят перед глазами ни одного слова, но не могут понять, почему же файл настолько велик? Злые вирусы или вредные хакеры? Нет. Всё дело в скрытой информации. Это могут быть графики, картинки и текст.
Как и непечатаемые символы, скрытые данные не отображаются на экране и не выводятся на печать, но они всё равно являются частью документа.
С помощью скрытого текста вы можете:
- Временно прятать конфиденциальную информацию.
- Оставлять комментарии или давать ответы на вопросы, которые не должны перемешиваться с основным текстом.
- Распечатывать несколько вариантов одного и того же документа, попеременно скрывая разные его части. При этом вам не придётся связываться с несколькими копиями файла!
Выделите часть или весь текст, нажмите Ctrl + D и проставьте галочку напротив опции «Скрытый». Фрагмент исчезнет и станет доступен для просмотра только в режиме отображения непечатаемых символов. Для наглядности скрытые данные подчёркиваются линией из чёрных точек.
5. Пользуйтесь функцией «Инспектор документов» перед сохранением
Старый Word не может открыть файл или отображает его некорректно? Знакомо всем и каждому! Такого рода неприятности вокруг меня случаются с пугающей регулярностью, ведь множество организаций и людей всё ещё работают в Office 2003. Поэтому перед отправкой и/или сохранением документа стоит проверять его на совместимость с предыдущими версиями Word. За это отвечает «Инспектор документов».
Также он умеет запускать проверку читаемости текста для людей с ограниченными возможностями и, что немаловажно, находить скрытые свойства и данные в документе.
Например, функция определяет наличие макросов, внедрённых документов, невидимого содержимого и прочих потенциально проблемных элементов файла.
6. Редактируйте PDF
Обилие вариантов не всегда идёт на пользу. Работа с PDF — яркий тому пример. Порой люди теряются уже при выборе инструмента, которым они хотят обработать файл PDF. Здесь и классический Adobe Reader, и альтернативный Foxit Reader, и любой более-менее современный браузер, и ещё множество онлайн-сервисов. Однако один из самых удачных способов лежит на поверхности — это герой нашей статьи.
Word 2013 не только открывает, но и даёт возможность отредактировать содержимое PDF-документа.
Редактор преобразует текст, таблицы, списки, графики и прочие элементы в DOCX-файл, максимально точно сохраняя форматирование оригинала. Необходимо заметить, что получается у него очень и очень достойно. Также вы можете добавлять PDF-файлы в документ Word как встраиваемый объект. В таком случае будет отображаться лишь первая страница PDF или значок-ссылка файла.
7. Вставляйте видео
Не секрет, что долгий просмотр сухого текста быстро снижает внимание и приводит к потере интереса у читающего. Поэтому почти все студенты, докладчики и офисные трудяги разбавляют строки диаграммами, таблицами, графиками и прочими визуальными ухищрениями. Однако лишь единицы берут на вооружение куда более мощный инструмент — видео.
Word умеет вставлять в документ видео из поиска Bing, добавлять ролики YouTube и внедрять коды с различных веб-сайтов.
И не стоит переживать о конечном размере файла. Документ не сохраняет само видео, а лишь оформляет его ссылку в наглядную форму. Разумеется, для просмотра требуется интернет-соединение.
8. Работайте над документом вместе и комментируйте правки
Помните слова классика: «Чего один не сделает — сделаем вместе»? Они актуальны и по сей день. Только не все понимают, как правильно выстроить совместный труд. К сожалению, всё ещё доводится видеть, как человек выделяет кусок текста каким-либо цветом, за ним в скобках дописывает свою редакцию или возражения и пересылает документ обратно. В такие моменты у меня начинается нервное подёргивание века. Последняя редакция Word позволяет комфортно комментировать и вносить правки в общедоступный файл. Этим нужно пользоваться!
Word 2013 даёт возможность отвечать на чужие комментарии, что делает редактор отличным инструментом для обсуждения при групповой работе.
Затратьте несколько минут на изучение вкладки «Рецензирование», поделитесь новыми навыками с коллегами, и вы сполна прочувствуете всю лёгкость работы сообща.
9. Упростите работу с таблицами
Дайте-ка угадаю, вы всё ещё вставляете строки и столбцы таблицы кликом правой клавишей мыши и переходом к соответствующему пункту меню? Всё куда проще!
Наведите курсор чуть выше/ниже (левее/правее) того места, где вы планируете добавить строку или столбец. Word незамедлительно предложит увеличить таблицу.
К слову, последняя версия редактора обзавелась несколькими новыми функциями оформления таблиц. Обновите свои знания.
10. Объединяйте части документа в блоки
Что греха таить, есть такие работники, которые готовы листать 100+ страниц документа только ради того, чтобы убить время. Если же вы хотите быстро ориентироваться в объёмных файлах, вам необходимо освоить несколько клавиатурных сочетаний для молниеносной навигации или правильно структурировать свои труды.
Использование заголовков разного уровня позволяет сворачивать элементы документа, над которыми вы сейчас не работаете.
Поставьте курсор рядом с заголовком, и программа предложит вам свернуть содержимое блока. Таким образом, даже самые громадные труды могут уместиться всего на паре страниц.
Не нашли для себя ничего интересного? На всякий случай прочитайте статью Лайфхакера о 20 секретах Word, которые помогут упростить вам работу. Или дайте свои советы в комментариях.
11-30-2015, 07:37 PM |
The use of IF field codes in Word 2010 I need to be able to use an IF field to determine the text that should appear at a location depending on what was selected in a drop down list. { IF «BNTYPE» = «Manager» «1» «0» }
here I am trying to say that the drop down list has been bookmarked as BNTYPE and I need it to say either true or false depending on whether Manager is selected in the drop down list or not. Can anyone help please? Thanks. |
11-30-2015, 08:32 PM |
I assume you’re using formfields — the technique you’re trying to implement doesn’t work with content controls or Active-x controls.. You need to use a cross-reference to the BNTYPE bookmark in the IF field: Note: The field brace pairs (i.e. ‘{ }’) for the above example are all created in the document itself, via Ctrl-F9 (Cmd-F9 on a Mac); you can’t simply type them or copy & paste them from this message. Nor is it practical to add them via any of the standard Word dialogues.
__________________ |
12-01-2015, 08:14 PM |
Helps but… Thanks for that, it definitely helps!! However, there does not seem to be a calculate on exit property for the drop down box anywhere that I looked! So it does not automatically update unless I ask update the field myself. Any suggestions please? Thanks again. |
12-01-2015, 08:54 PM |
In which case, you’re probably not using formfields. What kind of controls are you using?
__________________ |
Выражение может быть именем закладки, строкой текста, числом, вложенным полем, возвращающим значение, или математической формулой.
Как я понимаю, строка текста — это текст, который вводится в поле IF, а не текст из файла.
Коды полей: IF
{ IF Выражение1 Оператор Выражение2 Текст1 Текст2 }
В зависимости от результата сравнения двух выражений вставляет тот или иной текст. В основном документе слияния поле IF можно использовать для анализа записей данных, таких как почтовые индексы или номеров банковских счетов. Например, можно разослать письма только клиентам, проживающим в определенном городе.
Инструкции
Выражение1, Выражение2
Значения, которые требуется сравнить. Выражение может быть именем закладки, строкой текста, числом, вложенным полем, возвращающим значение, или математической формулой. Если выражение содержит пробелы, оно должно быть заключено в кавычки.Оператор
Оператор сравнения. Пробелы перед оператором и после него являются обязательными.
Оператор Описание
= Равно
<> Не равно
> Больше
< Меньше
>= Больше или равно
<= Меньше или равноТекст1, Текст2
Текст, который вставляется в случае истинности (Текст1) или ложности (Текст2) логического выражения. Если Текст2 не указан, а логическое выражение ложно, не будет вставлено никакого текста. Каждая строка, содержащая несколько слов, должна быть заключена в кавычки.Примечание. Если используется оператор = или <>, то Выражение2 может содержать вопросительный знак (?), заменяющий любой отдельный знак, или звездочку (*), заменяющую любую строку символов. Такое выражение должно быть заключено в кавычки. Если Выражение2 содержит звездочку, то сумма длин фрагмента Выражения1, соответствующего этой звездочке, и остальных знаков значения Выражения2 не должна превышать 128 знаков.
Примеры
В приведенном ниже примере указано, что если заказ клиента равен или больше 100 единиц продукции, то будет выведено слово «Спасибо», а если клиент заказывает менее 100 единиц продукции, то будет выведено уведомление «Минимальный заказ равен 100 единиц».
{IF заказ>=100 «Спасибо» «Минимальный заказ равен 100 единиц»}Примеры полей IF
Поле IF выполняет одну из двух операций в зависимости от указанных условий. Например, утверждение «Если погода будет хорошей, мы прогуляемся по парку, а если нет — пойдем в кино» определяет условие, (хорошая погода), при котором произойдет определенное событие (прогулка по парку). Если это условие не соблюдено, происходит альтернативное событие (поход в кино).
Приведенное ниже поле IF представляет собой утверждение того же типа. Если текущая запись данных содержит значение «Саратов» в поле «Город», в документ, полученный в результате слияния с этой записью данных, будет включен текст, содержащийся в первых кавычках. В противном случае будет добавлен второй текст. Следующий пример использует поля IF и MERGEFIELD.
{ IF { MERGEFIELD Город } = «Саратов» «Пожалуйста, позвоните в местное отделение нашей фирмы.» «Пожалуйста, отправьте заполненный формуляр в приложенном конверте.» }
Чтобы вставить поле IF в документ, на панели инструментов Слияние нажмите кнопку Добавить поле Word, а затем выберите поле IF…THEN…ELSE.
Ниже приведены некоторые примеры способов изменения кодов поля IF.Сравнение поля данных с другим полем или закладкой
В приведенном ниже примере выполняется сравнение значения поля данных «Ставка» со значением поля данных «Скидка». Если числа равны, печатается указанный текст.
{ IF { MERGEFIELD Ставка } = { MERGEFIELD Скидка } «Мы предложим вам еще большую скидку. » » » }
(Если число в поле данных «Ставка» не равно числу в поле данных «Скидка», текст не печатается.)Вставка других полей Word в поле IF
Пример 1
В случае выполнения условия, указанного в приведенном ниже поле IF, в документ вставляется содержимое файла, указанного в поле INCLUDETEXT. При задании местоположения и имени включаемого документа следует использовать двойные обратные косые черты (), как показано в примере. Если условие не будет выполнено, будет вставлен элемент списка автотекста «Авторское право».
{ IF { MERGEFIELD Штат } = » Нью-Йорк » «{ INCLUDETEXT c:\worddocs\contract.doc }» «{ AUTOTEXT Авторское право }» }Пример 2
Если поле «Компания» в записи данных содержит какую-либо информацию — т. е. не является пустым, — печатается текст из поля «АдресКомпании». В противном случае печатается текст из поля «ДомашнийАдрес».
{ IF { MERGEFIELD Компания } <> » » «{ MERGEFIELD АдресКомпании }» «{ MERGEFIELD ДомашнийАдрес }» }Выполнение вычислений в поле IF
В приведенном ниже примере первое поле = (Формула) вычисляет текущее сальдо для каждого счета. Если сальдо положительно, печатается значение второго поля = (Формула). Если вычисленное сальдо равно 0 (нулю) или отрицательно, печатается альтернативный текст «Ваш счет пуст. Спасибо.».
{ IF { = { MERGEFIELD Сальдо } — {MERGEFIELD Платеж } } > 0 «Текущее сальдо { = { MERGEFIELD Сальдо } — { MERGEFIELD Платеж } # «#,##0.00р.; » }.» «Ваш счет пуст. Спасибо» }Задание нескольких условий
Чтобы задать несколько условий в поле IF, в него следует включить поле COMPARE или другие поля IF.Пример 1
В приведенном ниже примере при слиянии каждой записи данных поле COMPARE сравнивает поля данных «НомерКлиента» и «РангКлиента». Функция AND в поле = (Формула) возвращает значение «1» (истина), если значения обоих полей указывают на удовлетворительное состояние счета. В этом случае печатается текст из первых кавычек.
{ IF { = AND ( { COMPARE { MERGEFIELD НомерКлиента } >= 4 }, { COMPARE { MERGEFIELD РангКлиента } <= 3 } ) } = 1 » Удовлетворительно » » Неудовлетворительно «}Пример 2
В приведенном ниже примере жителям Калифорнии и Вашингтона предоставляются особые скидки. Если в поле «Штат» указан другой штат, никакой текст не печатается, поскольку во втором поле IF не указан альтернативный текст.
{IF {MERGEFIELD Штат } = » Калифорния » » Для жителей Калифорнии предлагаются особые скидки на посещение Азии и Японии.» «{IF {MERGEFIELD Штат } = «Вашингтон» «Для жителей Вашингтона предлагаются особые скидки на посещение Азии и Японии.» » «} «}
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк — 41001162202962; на WebMoney — R581830807057.
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS
Contact US
Thanks. We have received your request and will respond promptly.
Log In
Come Join Us!
Are you a
Computer / IT professional?
Join Tek-Tips Forums!
- Talk With Other Members
- Be Notified Of Responses
To Your Posts - Keyword Search
- One-Click Access To Your
Favorite Forums - Automated Signatures
On Your Posts - Best Of All, It’s Free!
*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Students Click Here
using fields codes , if statements and formulas in Word 2010using fields codes , if statements and formulas in Word 2010(OP) 16 Sep 11 06:34 Hi, Does anyone know of any place I can find out about inserting field codes correctly? I can’t find anything on the web to help with using field codes, setting bookmark content using if statements or assiging dynamic data from mergefields? I’ve been going round in circles for days but nothing I try works? all i want is to use a simple If statement to set the content of a bookmark when the first record is merged? I have this CODE{ if {mergeseq} = 1 {set Sig { mergefield «sSig» } } } Where ‘Sig’ is the bookmark and ‘sSig’ is a mergefield, but the bookmark content doesn’t change? Why? Thanks, Red Flag SubmittedThank you for helping keep Tek-Tips Forums free from inappropriate posts. |
Join Tek-Tips® Today!
Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.
Here’s Why Members Love Tek-Tips Forums:
- Talk To Other Members
- Notification Of Responses To Questions
- Favorite Forums One Click Access
- Keyword Search Of All Posts, And More…
Register now while it’s still free!
Already a member? Close this window and log in.
Join Us Close
Коды полей: поле MERGEFIELD — Word
Отображает в основном документе для слияния имя поля данных, заключенное в шевроны (пример: «Имя»). Когда выполняется слияние основного документа с выбранным источником данных, информация из указанного поля данных вставляется на месте поля слияния.
В предыдущих версиях Word в объединенных документах на месте полей, сопоставленных с отсутствующими данными, часто отображались двойные пробелы. Теперь вы можете использовать ключи, чтобы указать, какой текст будет печататься до или после значения поля (если в нем есть данные).
Перед вставкой полей слияния для основного документа следует указать источник данных.
Синтаксис
При просмотре кода поля MERGEFIELD в документе его синтаксис выглядит следующим образом:
{ MERGEFIELD ИмяПоля [Ключи]}
Примечание: Код поля определяет то, что будет отображаться в поле. Результаты поля — это то, что отображается в документе после оценки кода поля. Для переключения между кодом поля и его результатами нажмите сочетание клавиш ALT+F9.
Инструкции
«ИмяПоля»
Имя поля данных, содержащееся в заголовке выбранного источника данных Указанное имя поля должно точно совпадать с именем одного из полей в записи заголовка.
Ключи
b
Определяет текст, вставляемый перед полем MERGEFIELD, если оно не пустое.
f
Определяет текст, вставляемый после поля MERGEFIELD, если оно не пустое.
m
Указывает, что поле MERGEFIELD является сопоставленным полем.
v
Разрешает преобразование знаков для вертикального форматирования.
Пример
При использовании трех полей MERGEFIELD и ключа f, как показано ниже, между этими тремя полями вставляются пробелы (только если в источнике данных указаны сведения для соответствующих полей).
{ MERGEFIELD Обращение f » » }{ MERGEFIELD Имя f » » }{ MERGEFIELD Фамилия }
Результат:
-
Если в источнике данных указаны сведения для всех полей:
Госпожа Ольга Зуева -
Если в источнике данных отсутствуют сведения для поля «Имя»:
Госпожа Зуева
Примечание: Если вам нужно изменить имя поля, указанного в поле слияния, следует сделать это в кодах поля MERGEFIELD. Если коды полей будут скрыты, изменение имени поля не даст желаемого эффекта.
support.office.com
vba — Вложенное поле IF в Word VBA
Я пытаюсь создать слово addin, которое добавляет сложное создание IF Statement, из списка возможных полей mergefield.
Комплекс
{ IF { = OR ( { COMPARE { MERGEFIELD Field_1 } <= "Value" }, { COMPARE { MERGEFIELD Field_2 } >= "Value" } ) } = 1 "True Instructions" "False Instructions" }
Я пытаюсь сделать все это в VBA, но у меня возникают проблемы с моим комплексом, если, поскольку я не могу получить «}» для завершения в правильных местах.
Если я использую терминатор «Selection.EndKey Unit: = wdLine» в любом другом месте, кроме конца, он создает беспорядок и путёт все} в этой строке.
Вот мой код:
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="IF "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:=" = " & JointOperator1 & " ( "
'FIRST ARG
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="COMPARE "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False, Text:="MERGEFIELD " & FirstArg1
Selection.TypeText Text:=" "
Selection.TypeText Text:=ComparisonType1
Selection.TypeText Text:=" "
Selection.TypeText Text:=Chr(34) & SecondArg1 & Chr(34)
Selection.TypeText Text:=", "
'SECOND ARG
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="COMPARE "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False, Text:="MERGEFIELD " & FirstArg2
Selection.TypeText Text:=" "
Selection.TypeText Text:=ComparisonType2
Selection.TypeText Text:=" "
Selection.TypeText Text:=Chr(34) & SecondArg2 & Chr(34)
Selection.TypeText Text:=" ) "
Selection.TypeText Text:=" = 1 "
Selection.TypeText Text:=vbCrLf & " " & Chr(34)
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:=strTempIfTrue
Selection.TypeText Text:=Chr(34) & " " & vbCrLf
Selection.TypeText Text:=" " & Chr(34)
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:=strTempIfFalse
Selection.TypeText Text:=Chr(34)
Selection.EndKey Unit:=wdLine
Selection.TypeParagraph
И это то, что я получаю при создании «Complex if»
{IF { = AND ( {COMPARE{MERGEFIELD FHB} = "T", { COMPARE {MERGEFIELD BLAH} = "F") = 1 "If True text" "If False Text"}}}}
Но это должно быть так:
{IF { = AND ( {COMPARE{MERGEFIELD FHB} = "T" **}** , { COMPARE {MERGEFIELD BLAH} = "F" **}** ) **}** = 1 "If True text" "If False Text"}
Если кто-то может пролить свет на этот вопрос, где я ошибаюсь. Или, если есть способ заставить местоположение Ending}, это было бы здорово, я очень новичок в VBA (я программист C++),
qaru.site
Microsoft Office Word и LibreOffice Writer (часть II)
В первой части заметки были рассмотрены различия между Word и Writer, касающиеся преимущественно основных средств работы с документами. Теперь же хотелось бы рассказать о средствах специальных и прежде всего – об использовании полей. Нет, не про поля страницы, а про особые объекты, внедряемые в документ. Соответствующая сноровка в использовании полей превращает их в очень мощные инструменты, сильно облегчающие оформление документов. На мой субъективный взгляд реализация работы с полями выполнена в Writer более удачно, нежели в Word, поскольку лучше организована и проще для восприятия. В связи с этим дальнейшее изложение материала будет касаться в первую очередь именно Writer, хотя описание аналогичных функций, имеющихся в Word, также будет по возможности приводиться. Упор на Writer будет сделан ещё и по следующим причинам.
Публикации (как печатные, так и электронные), посвящённые способностям текстовых редакторов, которые будут описываться ниже, относительно редки, так что восполнить этот пробел настоящей заметкой будет совсем не лишним. Собственный формат текстовых файлов Writer ODT фактически является ГОСТовским форматом хранения данных, так как стандарту ISO/IEC 26300 (который этот формат и описывает) полностью соответствует ГОСТ Р 26300-2010. Кроме того, распоряжением Правительства Российской Федерации от 17.12.2010 г. № 2299-р утверждён «План перехода федеральных органов исполнительной власти и федеральных бюджетных учреждений на использование свободного программного обеспечения на 2011-2015 годы». Из сказанного следует, что для государственных учреждений использование LibreOffice Writer становится вполне актуальным, в связи с чем ряд примеров применения полей будет касаться оформления документов, относящихся к судебной экспертизе и думается, что предлагаемые советы смогут оказаться полезными также для сотрудников самых разных ведомств и организаций.
Содержание:
Общие сведения о полях
Поле пользователя
Поля «Дата» и «Время»
Поле «Список»
Поле «Текст с условием»
Поля «Предыдущая страница» и «Формула»
Скрытие разделов в Writer
Ещё раз о совместимости
Бонус: некоторые дополнительные рекомендации
Общие сведения о полях
Поле можно рассматривать как мини-программу, состоящую из одной команды и её специальных параметров, результат выполнения которой отображается в виде некого текста. Одним из самых простых типов полей является поле «Номер страницы», которое, как это и следует из его названия, ответственно за отображение нумерации страниц в документе. Так как в текстовых редакторах предусмотрено довольно много различных типов полей, то далее будет рассказано только про некоторые.
В Writer работа с полями осуществляется прежде всего при помощи диалогового окна «Поля», которое вызывается через пункт меню «Вставка» → «Поля» → «Дополнительно…»:
Поля, размещённые в документе Writer, имеют серое затенение, видимое однако только в режиме правки документа. В остальных случаях (при выводе на печать; если открытый файл имеет атрибут «только чтение» или же если правка выключена отжатием кнопки «Редактировать документ» на панели инструментов «Стандартная») затенение полей отсутствует. При желании его можно отключить – для этого служит соответствующий пункт меню «Вставка». Можно также включить режим показа имён полей при помощи пункта меню «Вид» → «Поля». В этом случае номер страницы, вставленный в нижний колонтитул будет выглядеть следующим образом:
В Word также имеется диалоговое окно для управления полями – оно вызывается выбором пункта меню «Поле…», которое раскрывается при нажатии кнопки «Экспресс-блоки» в секции «Текст» вкладки ленты «Вставка». Следует отметить, что в Word поля приобретают затенение только когда в них оказывается установлен текстовый курсор. Аналогично режиму отображения имён полей в Writer в Word есть способ показать их «истинную сущность», для чего нужно щёлкнуть правой кнопкой мыши по полю и появившемся контекстном меню выбрать пункт «Коды/значения полей». Например, номер страницы в таком режиме выглядит так:
{ PAGE * MERGEFORMAT }
Поле пользователя
Довольно часто при оформлении документов необходимо одни и те же данные приводить в разных их частях, что неизбежно создаёт некоторые трудности, поскольку для правильного составления документа требуется такие данные проверять и редактировать в каждом конкретном случае. К подобной повторяющейся информации может относиться регистрационный номер документа и дата его составления, так как бывает в соответствии с принятыми в какой-либо организации правилами делопроизводства указанные сведения нужно приводить как в заголовочной части документа, так и, например, в колонтитулах. Именно в таких случаях может пригодиться «Поле пользователя». Для его вставки в диалоговом окне «Поля» нужно переключиться на вкладку «Переменные», где в списке «Тип» выбрать «Поле пользователя»:
После этого в нижней части окна следует указать имя и значение создаваемого поля. В имени поля допускается использование букв (в том числе и русского алфавита) и цифр, вместо пробела можно использовать знак «_» («подчёркивание») – в целом это напоминает правила составления имён переменных при написании программ. В качестве значения поля как раз и следует указывать собственно повторяющийся текст, также нелишним будет уточнить формат данных («Текст» вместо “Standard”).
Разноимённых полей рассматриваемого типа в документе можно создавать произвольное число. Каждый экземпляр какого-либо поля пользователя, размещённый в документе, отображает одну и ту же информацию. Для изменения значения поля нужно дважды щёлкнуть по нему и откроется диалоговое окно для выполнения соответствующего редактирования.
Таким образом если упоминавшиеся выше регистрационный номер документа и дата его составления оформлены как поля пользователя, то при изменении значения одного поля эта информация автоматически обновляется во всех его экземплярах и в результате отпадает необходимость одни и те же сведения указывать по нескольку раз.
Для аналогичных целей в Word можно использовать экспресс-блоки «Свойство документа», (секция «Текст» на вкладке ленты «Вставка»):
При выборе одного из них в текст документа вставляется вот такая штука в виде голубой рамки с «язычком»-закладкой на верхней стороне слева:
В эту рамку можно поставить курсор и набрать какой-либо текст. Возможно, что сразу после вставки в таком экспресс-блоке уже будет присутствовать некое содержимое – его можно легко заменить. При необходимости сам блок целиком выделяется щелчком по «язычку»-закладке. Как и в Writer экземпляры каждого из 15 возможных экспресс-блоков отображают одно и тоже, автоматически обновляясь при изменении содержимого в каком-нибудь из них. Отдельного упоминания заслуживает экспресс-блок «Дата публикации» – если введённую в него информацию программа опознаёт именно как дату, то преобразует её написание в соответствии с текущими настройками операционной системы – так запись «12 июня 2014 г.» может сама поменяться на «12.06.2014».
Поля «Дата» и «Время»
Эти поля, как нетрудно догадаться, служат для добавления в документ текущих календарной даты и времени, которые берутся из системных настроек компьютера. Чтобы их вставить, нужно в окне «Поля» переключиться на вкладку «Документ»:
Для каждого из рассматриваемых типов полей существует по две разновидности. Первая – фиксированная, когда при вставке в документ берётся текущее значение и в дальнейшем не меняется. Вторая разновидность более интересна, поскольку способна обновляться.
Если вы воспользуетесь пунктом программного меню «Сервис» → «Параметры…», то откроется диалоговое окно. В левой его части нужно раскрыть ветку “LibreOffice Writer”, в которой выбрать пункт «Общие»:
В разделе «Автоматически» обычно стоит флажок «Поля», благодаря чему значения полей при открытии документа и перед выводом его на печать сами обновляются. Работает это следующим образом. Допустим, имеется документ, в котором должна быть указана дата его составления – таковыми являются, например, служебные записки, рапорта и т. п. Если вставить в документ в нужном месте поле «Дата», то при открытии его файла она будет менять своё значение в зависимости от дня календаря и вручную его править уже не потребуется.
Значения полей можно обновлять и принудительно – через пункт меню «Сервис» → «Обновить» → «Поля» или нажатием клавиши [F9].
Для полей «Дата» и «Время» можно задавать разные способы отображения в списке «Формат» – просто выберите нужный вариант представления этих данных непосредственно перед вставкой. Если же и предлагаемых вариантов окажется мало, то выберите в списке пункт «Дополнительные форматы…»:
В случае поля «Дата» при этом откроется ещё одно диалоговое окно следующего вида:
Если в нём выбрать указанный на рисунке вариант «31 Декабрь, 2014», а затем в строке «Код формата» убрать из шаблона представления даты символ «D», оставив вот это:
MMMM, YYYY
то в области образца отобразится «Декабрь, 2014» (представление даты в виде наименования месяца и номера года). В качестве примера использования описанного способа использования поля «Дата» можно привести такой документ:
В среде Word вставка аналогичных полей делается следующим образом. Нужно вызвать диалоговое окно «Поле», в котором в списке «Поля» в левой части окна выбрать, например, “Date” («Дата»). Для облегчения поиска можно предварительно в выпадающем списке «Категория» указать «Дата и время»:
При выборе указанного на рисунке формата даты «ноябрь 14» в строчке на списком отобразится шаблон представления даты. Если если его изменить на
MMMM, yyyy
то после вставки поле будет отображать наименование месяца и год, написанные через запятую.
Поля в документе Word автоматически обновляются при открытии файла и выводе его на печать. При необходимости принудительно обновить все поля в текущем открытом документе, нужно всё его содержимое выделить (комбинация [Ctrl]+[A] или команда «Выделить все» в меню кнопки «Выделить», расположенной в секции «Редактирование» вкладки ленты «Главная»), после чего нажать [F9].
Поле «Список»
Бывает, что при составлении документов встречаются ситуации, когда в одном месте документа нужно привести один из вариантов некой фразы. Например, при составлении заключения эксперта необходимо указывать экспертную специальность, в рамках которой данная экспертиза выполнена. Зачастую сотрудники судебно-экспертных учреждений имеют право самостоятельного производства экспертиз по нескольким специальностям. Именно в таких случаях и можно использовать поле «Список»:
Текст элементов создаваемого списка вводится в соответствующем месте в верхней правой части окна, окончание ввода подтверждается нажатием кнопки «Добавить».
Поле «Список» в тексте документа показывает только один из своих элементов. Для изменения отображаемого элемента нужно щёлкнуть по нему и появится небольшое окно «Выбор элемента», в котором нужно выбрать нужное и нажать кнопку «ОК»:
Нетрудно видеть, что в этом случае замена одной довольно длинной фразы на другую сводится всего лишь к трём щелчкам кнопкой мыши.
Поле рассматриваемого типа может применяться во многих ситуациях – например для указания данных об исполнителе какого-либо документа, где можно заранее задать фамилии и инициалы сотрудников.
В Word поля «Список» как такового нет, но можно сделать в документе его аналог. Прежде всего нужно включить отображение вкладки «Разработчик», для чего нужно нажать кнопку «Офис» , а в открывшемся меню – кнопку «Параметры Word». При этом откроется диалоговое окно, в котором в разделе «Основные» надо установить флажок «Показывать вкладку «Разработчик» на ленте» (в Word 2010 / 2013 нужно раскрыть вкладку «Файл», выбрать «Параметры», в открывшемся диалоговом окне переключиться в раздел «Настройки ленты», а затем в правой части окна в списке вкладок установить флажок «Разработчик»). На появившейся вкладке в секции «Элементы управления» нажмите кнопку «Раскрывающийся список»:
При этом в документ вставится вот это:
Далее нужно будет нажать ставшей доступной кнопку «Свойства»
и откроется окно следующего вида:
Создание элементов в списке осуществляется нажатием кнопки «Добавить…», открывающей маленькое окно, в котором нужно ввести значение элемента списка:
В готовом виде список никак не выделяется, но если в него поставить текстовый курсор, то вокруг него появится рамка, в правой части которой будет кнопка с направленным вниз треугольничком, позволяющая раскрыть список элементов и изменить его текущее отображаемое значение:
Поле «Текст с условием»
Поле этого типа может отображать либо один, либо другой текст в зависимости от того, выполняется ли некое заданное условие:
Рассмотрим использование такого поля на следующем конкретном примере. Перед производством судебной экспертизы эксперт предупреждается об ответственности за дачу заведомо ложного заключения. В случае экспертиз по уголовным, гражданским и арбитражным делам эта ответственность предусмотрена ст. 307 Уголовного Кодекса России (УК РФ), а при производстве экспертиз по административным делам – ст. 17.9 Кодекса Российской Федерации об административных правонарушениях (КоАП РФ). Допустим, в документе имеется поле пользователя «Вид_дела» (используется, например, в заголовке документа «Заключение эксперта по {уголовному делу}»). Если при создании поля «Текст с условием» задать в нём следующее условие (оператор «равно» в условия задаётся как == или EQ, а «не равно» – как != или NEQ):
Вид_дела == «административному материалу проверки КУСП»
и указать в качестве параметра «Если выполняется»
«17.9 КоАП»
(текст обязательно надо заключать в прямые кавычки), а параметр «Иначе» задать равным
«307 УК»
то в зависимости от того, какое значение полю «Вид_дела» присвоено, будет отображаться соответствующий вариант. Так, если экспертиза проводится в рамках уголовного дела и полю «Вид_дела» присвоено соответствующее значение «уголовному делу» (то есть, если указанное выше условие не выполняется), то результат будет выглядеть так:
Один из параметров – «Если выполняется» или «Иначе» – при создании поля «Текст с условием» можно оставлять пустым и это можно использовать так. Законодательством предусмотрены права и обязанности эксперта, оговорённые в ст. 57 Уголовно-процессуального кодекса (УПК), ст. 85 Гражданского процессуального кодекса (ГПК), ст. 55 Арбитражного процессуального кодекса (АПК) или ст.ст. 25.9 и 26.4 КоАП. Если в документ вставить друг за другом четыре поля рассматриваемого типа с условиями
Вид_дела == «уголовному делу»
Вид_дела == «гражданскому делу»
Вид_дела == «арбитражному делу»
Вид_дела == «административному материалу проверки КУСП»
а в качестве параметра «Если выполняется» указать у них соответственно
«57 УПК»
«85 ГПК»
«55 АПК»
«ст. 25.9 и 26.4 КоАП»
и оставить значения параметров «Иначе» пустыми, то в зависимости от указанного вида дела при составлении заключения эксперта (редактировании документа) ссылки на нужные статьи будут подставляться в текст автоматически. Например, в случае экспертизы по гражданскому делу это будет выглядеть так:
а при экспертизе по административному делу – так:
В Word также есть поле с условием – “If”, рассмотрим его работу на примере статьи об ответственности эксперта. Пусть у нас экспресс-блок «Автор» содержит информацию о виде дела:
В строку «Об ответственности за дачу заведомо ложного заключения по ст. эксперт 09.11.2015 г. предупреждён» между «по ст. » и « эксперт» поставьте курсор и откройте диалоговое окно для вставки поля:
В строке с дополнительными свойствами поля введите следующее:
IF x = «административному материалу проверки КУСП» «17.9 КоАП» «307 УК»
После нажатия кнопки «ОК» получится во это:
Далее по полю нужно будет щёлкнуть правой кнопкой мыши и в появившемся контекстном меню выбрать пункт «Коды/значения полей»:
В таком режиме отображения поле можно посимвольно редактировать: удалите «x» и вставьте вместо него поле “DocProperty” со свойством “Author” (можно также просто вставить собственно поле “Author”):
Таким образом в одно поле окажется вложено другое. Теперь обновите поле “If”. Должно получиться вот это:
То есть, аналогично вышеприведённому примеру с полем «Текст с условием» в Writer, если экспертиза проводится в рамках дела об административном правонарушении и в экспресс-блоке «Автор» это указано, то поле “If” будет отображать (после обновления) статью 17.9 КоАП, а во всех остальных случаях – статью 307 УК. Как видно, оператор «равно» в условии задаётся соответствующим символом «=», условие «не равно» записывается как «» (знаки «больше» и «меньше»).
Ниже для справки приводится небольшая таблица с названиями некоторых экспресс-блоков «Свойства документа» и соответствующих им свойств поля “DocProperty”:
Название экспресс-блока «Свойство документа» |
Свойство поля “DocProperty” |
---|---|
Автор |
Author |
Категория |
Category |
Ключевые слова |
Keywords |
Название |
Title |
Организация |
Company |
Примечания |
Comments |
Руководитель |
Manager |
Тема |
Subject |
Поля «Предыдущая страница» и «Формула»
Весьма типичной ситуацией является составление сопроводительного письма, с которым отправляется основной документ и не менее типичной ситуацией является, когда в таком письме необходимо приводить данные, которые в основном документе встречаются по нескольку раз (например всё те же упоминавшиеся выше регистрационный номер и дата составления документа). Если основной документ может иметь ещё и различное количество страниц, а указание таких данных в письме также является обязательным, то лучше это автоматизировать.
Прежде всего, необходимо добавить в документ заготовку для сопроводительного письма и разместить её в самом конце. Довольно часто при составлении документов на его страницах проставляются их номера, причём на самой первой странице номер не ставится. В Writer такого можно добиться, если самую первую страницу документа сделать титульной – присвоить ей стиль «Первая страница» (см. часть I, «Параметры страницы и вставка титульных страниц») и в колонтитулах остальных страниц (которые будут иметь стиль страницы «Базовый») проставить их номера вставкой соответствующего поля. Из этого следует, что заготовка сопроводительного письма также должна быть сделана титульной страницей. Далее возможны два варианта. Рассмотрим сначала первый, когда основной документ печатается с одной стороны листа. В Writer предусмотрено поле «Предыдущая страница»:
Если такое поле вставить в заготовку сопроводительного письма, размещённую в конце основного документа в качестве дополнительной страницы, то она будет показывать число, равное числу страниц в основном документе. Иными словами, можно организовать так, чтобы в сопроводительное письмо к документу сами собой будут подставляться номер этого документа, дата его составления и число листов в нём:
Теперь рассмотрим другую ситуацию: основной документ печатается с обеих сторон листа. В этом случае пригодится другое поле – «Формула»:
Это поле может содержать математическое выражение, результат вычисления по которому отображается в тексте документа. Вводится это выражение в соответствующий раздел диалогового окна. В случае подсчёта числа листов в документе при двусторонней печати текст формулы таков:
(PAGE-1)/2 ROUND 0
В Writer есть ряд встроенных переменных, к значениям которых можно обращаться. В приведённой формуле это переменная PAGE, которая содержит в себе число страниц в редактируемом документе. Из этой переменной вычитается единица (тем самым учитывается «лишняя» страница на сопроводительное письмо) и делится на два. Полученный результат при помощи функции ROUND округляется до ближайшего целого числа – число «0» после обозначения функции как раз и означает количество знаков после запятой. Список других функций, которые можно использовать, и их синтаксис (правила написания) можно посмотреть в справке по LibreOffice (клавиша [F1]). Как нетрудно догадаться, поле «Формула» можно использовать вместо «Предыдущей страницы», указав следующее выражение:
PAGE-1
Важно упомянуть также один нюанс. Обратите внимание: на приведённом выше рисунке с образцом сопроводительного письма его текст размещён внутри ячейки таблицы (для чего это нужно, будет рассказано далее). Дело в том, что в Writer формула может быть присвоена самой ячейке таблицы – этот текстовый редактор поддерживает простые вычисления, подобно табличным процессорам Calc, Excel и т. д. В связи с этим вышеприведённое поле «Формула» нужно разместить сначала в документе за пределами таблицы, а после этого скопировать в буфер обмена и вставить в нужное место письма – в строчку с первым пунктом в списке приложений.
При использовании Word действовать нужно несколько иначе. Пустую страницу для заготовки сопроводительного письма лучше вставлять в виде нового раздела – для этого достаточно добавить в конце основного документа символ «Разрыв раздела». Так как документ Word по умолчанию состоит из одного раздела, то при вставке разрыва добавляется ещё один раздел, который сначала «наследует» свойства предыдущего. Если при этом документ имел особый колонтитул для первой страницы, на котором не проставлен её номер, то, разумеется, первая страница нового раздела также будет без номера. Разберём сначала случай простановки в сопроводительном письме числа страниц при печати основного документа с одной стороны листа.
Нужно вызвать диалоговое окно «Поле» и выбрав «= (Formula)»
нажать кнопку «Формула…», при этом появится ещё одно окно, в котором нужно ввести текст как это показано на рисунке:
После нажатия «ОК» вставится поле, отображающее число «8». Далее нужно будет вызвать его контекстное меню и отобразить коды (значения) полей:
Удалите число «9» – вместо него нужно будет вставить номер страницы. Делается это ещё одним вызовом окна «Поле» и вставкой поля «NumPages». После этого останется только поле формулы обновить.
В случае печати основного документа с двух сторон листа формула должна быть такой:
=Round((9-1)/2; 0)
Функция Round выполняет округление и содержит два аргумента: первый – собственно округляемое число, а второй – число знаков после запятой, до которых нужно округлять («0» означает округление до целого). Внимание! Аргументы функции должны быть отделены друг от друга разделителем элементов списка, определённым в региональных параметрах в панели управления Windows – запятой или, как в приведённом случае, точкой с запятой. Далее нужно будет вместо «9» вставить поле «NumPages» и выполнить обновление поля «= (Formula)».
Скрытие разделов в Writer
Бывают ситуации, когда при оформлении документа в зависимости от каких-либо условий необходимо показать или скрыть довольно значительный кусок текста. В судебно-экспертных учреждениях могут проводится исследования в досудебном порядке и результат их оформляется не как заключение эксперта, а в виде акта экспертного исследования. Одним из главных отличий двух этих документов является отсутствие во втором из них подписки эксперта. Допустим, название документа оформлено в виде поля пользователя «Тип_документа» по причине потребности указания его не только в заголовке документа, но и в сопроводительном письме. Если текст подписки разместить внутри раздела, в параметрах которого в разделе «Скрыть»
задать вот такое условие:
Тип_документа ==»Акт экспертного исследования»
то при составлении заключения эксперта такой раздел будет показываться:
При изменении заголовка документа на «Акт экспертного исследования», подписка «схлопнется» и в самом документе отображаться уже не будет (разумеется, до тех пор, пока значение поля «Тип_документа» не будет изменено на что-то другое):
Ещё раз о совместимости
При необходимости пересохранить файл документа Writer в формате редактора Word следует быть особенно внимательным, если он содержит поля. Вот что происходит с ними при конвертировании в форматы DOC и DOCX:
Поле в ODT |
DOC |
DOCX |
---|---|---|
Поле пользователя |
Заменяется на обычный текст |
Заменяется на текст вида «Поле пользователя {Имя поля} = {Значение поля}» |
Текст с условием |
Заменяется на выражение вида «{текст, если условие выполняется}»|»{текст, если условие не выполняется}» |
Удаляется из документа |
Дата (Время) |
Заменяется на поле Date (Time) |
Заменяется на поле Date (Time) |
Предыдущая страница |
Заменяется на поле Page |
Заменяется на поле Page |
Формула |
Заменяется на обычный текст |
Заменяется на текст вида «Вставить формулу {текст формулы}» |
Список |
Заменяется на элемент управления «Поле со списком» |
Заменяется на устаревший (для данного формата) элемент управления «Поле со списком» |
Раздел при сохранении ODT-файла в формате DOC или DOCX превращается в текст, отделённый непечатаемыми знаками «Разрыв раздела (на текущей странице)», а в конце текста титульной страницы ставится знак «Разрыв раздела (со следующей страницы)».
Таким образом перед конвертированием документа в другой формат лучше предварительно превратить некоторые поля в обычный текст: выделить, скопировать в буфер обмена ([Ctrl]+[C]) и тут же выполнить специальную вставку ([Ctrl]+[Shift]+[V] или [Ctrl]+[Shift]+[Alt]+[V]).
Если же понадобится преобразовать DOCX-файл в ODT, то с рассмотренными выше объектами произойдёт следующее:
Объект в DOCX |
После конвертации в документ Writer |
---|---|
Экспресс-блок «Свойство документа» |
Заменяется на обычный текст |
Поля Date и Time |
Заменяются на поля «Дата» и «Время» |
Элемент управления «Раскрывающийся список» |
Заменяется на элемент управления «Поле со списком» |
Поле «= (Formula)» |
Заменяется на обычный текст. Если при этом в формулу было вложено какое-нибудь поле, то рядом вставляется ещё и наиболее близкий его аналог (например, поле «NumPages» заменяется полем «Страницы») |
Бонус: некоторые дополнительные рекомендации
В заключение хотелось бы дать ещё несколько советов, относящихся к оформлению документов.
Вёрстка при помощи таблиц
В отличие от бумажных книг, таблицы – это не только средство для сжатого и лаконичного представления порой достаточно большого количества данных, но и эффективный, а зачастую – незаменимый инструмент для вёрстки, в частности для размещения на странице в определённом порядке разнородного материала и установки его в нужной позиции.
Так, в заголовке документа на одной строке могут указываться его регистрационный номер и дата составления. Очень рекомендую эту часть оформить в виде таблицы из одной строки, состоящую из двух ячеек и имеющую непечатаемые границы. В левой ячейке можно оставить выравнивание текста по левому краю (оно и так по умолчанию будет таким), а в правой – установить выравнивание по правому краю. Выглядит в итоге это дело примерно так:
Поскольку названия месяцев имеют разную длину, то при использовании указанной выше таблицы приведённые в ней сведения всегда ровнёхонько стоят по краям страницы и никуда не «уползают» при вводе.
При оформлении сопроводительного письма можно закрепить имя и контактный телефон исполнителя внизу страницы. Для этого достаточно собственно текст письма разместить внутри таблицы из одной ячейки, а её нижний край оттянуть книзу, чтобы сразу за такой таблицей указать данные исполнителя. Дело в том, что перечень приложений в сопроводительном письме может содержать довольно много пунктов, которые при предлагаемом к использованию подходе не вызовут «перескока» сведений об исполнителе на другую страницу:
Специальные эффекты шрифта и абзаца
Особыми шрифтовыми эффектами почему-то мало кто пользуется, хотя они бывают порой весьма полезными.
Для текста можно задать написание прописными буквами, при этом редактор помнит, что буквы, к которым применён такой эффект, набраны именно строчными. В среде Word это делается в диалоговом окне «Шрифт» (вызывается одноимённым пунктом в контекстном меню, появляющемся при правом щелчке по тексту), где на вкладке «Шрифт» нужно установить флажок «Все прописные». В Writer для этой же цели нужно открыть диалоговое окно «Символ» (вызывается аналогично – выбором соответствующего пункта контекстного меню), где на вкладке «Эффекты шрифта» выбрать в выпадающем списке «Эффекты» пункт «Прописные буквы»:
Второй эффект – это отображение текста набранным вразрядку. Намного удобнее делать это не натыкиванием пробелов между буквами слов, а воспользоваться диалоговым окном «Символ» (в Writer; вкладка «Положение», значение «Разреженный» у выпадающего списка «Интервал») или «Шрифт» (в Word; вкладка «Интервал»):
Название типа документа может указываться в его заголовке и приводиться также в сопроводительном письме. Часто встречается набор заголовка документа прописными буквами. Если же в заголовок и в сопроводительное письмо вставить экспресс-блок «Свойство документа» (в Word) или поле пользователя (в Writer), то при использовании указанных эффектов шрифта название документа в сопроводительном письме будет отображаться обычным шрифтом, а в заголовке – прописными буквами с разрядкой.
Ещё один эффект относится к свойствам абзаца. В диалоговом окне «Абзац» (вызывается из контекстного меню) на вкладке «Положение на странице» есть параметр «не отрывать от следующего» (в Word) или «Не отрывать от следующего абзаца» (в Writer) – его я рекомендую устанавливать для заголовков, поскольку при этом идущий за ним текстовый абзац не даст этим заголовкам, в случае чего, остаться одиноко торчать в конце страницы, а «утянет» его в начало следующей.
Автозамена
Очень полезная сервисная функция текстового редактора, которая позволяет упростить набор длинных фраз.
В Word установка параметров автозамены выполняется так: кнопка «Офис» → кнопка «Параметры Word» → Раздел «Правописание» → кнопка «Параметры автозамены…» (в версии Word 2010 / 2013 – вкладка «Файл» → пункт «Параметры» → Раздел «Правописание» → кнопка «Параметры автозамены…»).
В появившемся диалоговом окне на вкладке «Автозамена» в поле «заменить:» пишется условная комбинация символов (в приведённом ниже примере – «грз»), а в поле «на:» – текст, на который она должна заменяться («государственный регистрационный знак»), далее нажимается кнопка «Добавить» и всё – теперь текстовый редактор при вводе указанных трёх букв (и последующего нажатия на пробел, чтобы дать понять программе, что ввод слова закончен) будет производить данную автозамену.
В Writer похожее окно вызывается через меню «Сервис» → «Параметры автозамены…» – действия в нём выполняются аналогично:
Добавлено: 16.11.2014
Изменено: 10.11.2015
Скачать в pdf
shurichimik.narod.ru
Ответы@Mail.Ru: MS Word, поля
Инженер_ОНАС
Профи
(765),
закрыт
9 лет назад
Дополнен 9 лет назад
Возвращает ли значение используемое для создания форм поле FORMCHECKBOX и если да, то как его получить. Мне нужно чтобы остальные поля реагировали на его изменение, т.е. приблизительно так:
{if имя_чекбокса = 1 <выражение1> <выражение2>}. Но такой вариант не проходит, т.к. закладке никакого значения не присваивается. И сделать это нужно не прибегая к использованию Visual Basic.
Карамышев Павел
Просветленный
(46482)
9 лет назад
MS Word. F1 — Справка по работе.
Комментарий удален
Карамышев Павел
Просветленный
(46482)
Цитата из MS Word 2003 SP2 Help
Поля для использования в формах
{ FORMCHECKBOX }
{ FORMDROPDOWN }
{ FORMTEXT }
Эти поля вставляют в форму флажок, поле со списком или текстовое поле соответственно. Вставлять или изменять эти поля напрямую невозможно. Для их вставки следует использовать кнопки Флажок , Текстовое поле и Поле со списком на панели инструментов (Панель инструментов. Строка с кнопками и другими элементами управления, служащими для выполнения команд. Чтобы вызвать панель инструментов, в меню Сервис выберите команду Настройка, а затем выберите вкладку Панели инструментов.) ) Формы. Изменить эти поля можно с помощью кнопки Параметры поля формы на панели инструментов Формы.
Комментарий удален
Карамышев Павел
Просветленный
(46482)
Из той же автономной справки:
Примеры полей IF
Поле IF выполняет одну из двух операций в зависимости от указанных условий. Например, утверждение «Если погода будет хорошей, мы прогуляемся по парку, а если нет — пойдем в кино» определяет условие, (хорошая погода), при котором произойдет определенное событие (прогулка по парку). Если это условие не соблюдено, происходит альтернативное событие (поход в кино).
Приведенное ниже поле IF представляет собой утверждение того же типа. Если текущая запись данных содержит значение «Саратов» в поле «Город», в документ, полученный в результате слияния с этой записью данных, будет включен текст, содержащийся в первых кавычках. В противном случае будет добавлен второй текст. Следующий пример использует поля IF и MERGEFIELD.
{ IF { MERGEFIELD Город } = «Саратов» «Пожалуйста, позвоните в местное отделение нашей фирмы.» «Пожалуйста, отправьте заполненный формуляр в приложенном конверте.» }
Комментарий удален
Карамышев Павел
Просветленный
(46482)
1 поле чекбокс (свойства-закладка Флажок1)
2 поле Вставляем через меню
if !Флажок1 «установлен» «неустановлен»
включаем защиту на панели форм. тыкаем на чекбоксе.
правой кнопкой на 2м поле обновить. Значение поле меняется в зависимости от чекбокса
Как сделать обновления автоматом-не знаю.
Комментарий удален
Комментарий удален
Остальные ответы
Queenmara
Просветленный
(21730)
9 лет назад
Ты сам себе противоречишь. О каком «if …» может идти речь, если не прибегать к Visual Basic
«if…then…else» -оператор языка программирования. Просто так в значение поля ты его не введешь
Комментарий удален
Queenmara
Просветленный
(21730)
If-это не поле,а оператор.Синтаксис следующий:If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
-or-
If condition Then [ statements ] [ Else [ elsestatements ] ],
где
condition-Обязательный параметр. Выражение. Должен принимать значение True или False или должен быть типом данных, который можно преобразовть в Boolean.
Then-В однострочный форме является обязательным параметром, а в многострочной — необязательным.
statements-Необязательно. Один или несколько операторов следующих за If…Then, которые выполняются, если результатом вычисления condition является True.
elseifcondition-Требуется, если имеется ElseIf. Выражение. Должен принимать значение True или False или должен быть типом данных, который можно преобразовть в Boolean .
elseifstatements-Необязательно. Один или несколько операторов следующих за ElseIf…Then, которые выполняются, если результатом вычисления
Комментарий удален
Комментарий удален
У вас все правильно, только вы не присвоили значение вашей закладке. Наберите нужное вам значение для нее в тексте, потом выделите и нажмите на кнопку Закладка
Похожие вопросы
Также спрашивают
otvet.mail.ru
vba — Как вставить поле mergefield в оператор If..else в VBA с помощью Word MailMerge?
Насколько мне известно, единственный способ вставить вложенный набор полей — это вставить поля напрямую. Вложенные поля сложны — в Интернете есть несколько подходов «там». Ниже я использую следующее.
В этом варианте самое внешнее поле вставляется с текстом-заполнителем для внутреннего кода (ов) внутреннего поля. Текст-заполнитель — это код поля с типизированными скобками (а не с видом Ctrl + F9).
Внешнее поле отправляется в функцию GenerateNestedField
вместе с строкой-заполнителем. Функция находит местозаполнитель в полевом коде и вставляет реальное поле на свое место.
Мне пришлось изменить свой стандартный код, чтобы работать с тем фактом, что вы вставляете MailMergeField для поля If. Необходимо преобразовать MailMergeField в обычный Word.Field, который я делаю, выбирая вставленное поле, а затем беря первое поле в коллекции Fields.
Sub IfPlusMergeField()
Dim doc As word.Document
Dim sFieldCode As String, sFieldName As String
Dim fldMerge As word.MailMergeField
Dim fldIf As word.Field
Set doc = ActiveDocument
sFieldName = dt.FieldName
sFieldCode = "{Mergefield " & sFieldName & "}"
Set fldMerge = doc.MailMerge.Fields.AddIf(Range:=Selection.Range, _
MERGEFIELD:=sFieldName, Comparison:=wdMergeIfGreaterThan, _
CompareTo:="30", TrueText:=sFieldCode, _
FalseText:="0")
fldMerge.Select
Set fldIf = Selection.Fields(1)
Debug.Print GenerateNestedField(fldIf, sFieldCode)
End Sub
'Returns the changed field code
Function GenerateNestedField(fldOuter As word.Field, _
sPlaceholder As String) As String
Dim rngFld As word.Range, doc As word.Document
Dim bFound As Boolean
Dim sFieldCode As String
Set doc = fldOuter.Parent
Set rngFld = fldOuter.code
rngFld.TextRetrievalMode.IncludeFieldCodes = True
bFound = rngFld.Find.Execute(findText:=sPlaceholder)
'Get the field code from the placeholder by removing the { }
sFieldCode = Mid(sPlaceholder, 2, Len(sPlaceholder) - 2)
If bFound Then
doc.Fields.Add rngFld, word.WdFieldType.wdFieldEmpty, sFieldCode, False
End If
'Debug.Print fldOuter.code
GenerateNestedField = fldOuter.code
End Function
qaru.site