Обзор использования полей Word для настройки составных документов

 

Добавляя поля Word в главный документ, можно включать в составные документы дополнительные сведения и регулировать слияние документов в Word. Кнопка «Добавить поле Word» на панели инструментов «Слияние» позволяет вставить одно из 10 полей.

 

 Коды полей: MERGEFIELD

{ MERGEFIELD ИмяПоля }

Вставляет в основной документ ссылку на поле данных. В основном документе слияния имя поля данных отображается внутри двойных угловых скобок (например, «Имя»). При слиянии основного документа с выбранным источником данных содержимое указанного поля данных будет вставлено вместо данного поля.

Перед вставкой полей слияния необходимо выбрать источник данных для основного документа. Чтобы вставить поле слияния, нажмите кнопку Добавить поле слияния на панели инструментов Слияние.

Элемент

Описание

ИмяПоля

Имя поля данных, содержащееся в заголовке выбранного источника данных. Указанное имя поля должно в точности совпадать с именем одного из полей в заголовке выбранного источника данных.

 

Пример

Поле { MERGEFIELD Имя } отображается в основном документе как «Имя», если коды полей скрыты.

Примечания

·                    Чтобы изменить имя поля, указанного в поле MERGEFIELD, необходимо включить режим отображения кодов полей. В противном случае изменение имени поля не даст желаемого эффекта.

·                    Для управления форматированием нажмите клавиши ALT+F9, чтобы отобразить коды полей, а затем добавьте ключи к полю слияния. Например, чтобы отобразить число «34987,89» как «34 987,89 р.», добавьте ключ числового формата (\#). Чтобы напечатать имена клиентов прописными буквами, добавьте ключ формата (\*).

 
Коды полей: NEXT

{ NEXT }

Переход к следующей записи данных, не начиная новый составной документ. Значение поля NEXT не отображается при печати. Это поле следует использовать, если в одном составном документе, например почтовой наклейке или конверте, требуется разместить данные из нескольких записей источника данных, число которых фиксировано. Если же в одном составном документе, например каталоге или прейскуранте, требуется разместить данные из нескольких записей источника данных, число которых различно или не может быть определено заранее, следует выбрать тип основного документа Каталог в диалоговом окне Слияние (меню Сервис).

Поле NEXT в основном документе следует разместить после первого набора полей слияния (MERGEFIELD), в противном случае первая запись данных будет пропущена. Этот набор полей следует повторить столько раз, сколько записей должно быть напечатано на каждой странице.

Примечание.   Поля NEXT нельзя использовать в сносках, примечаниях, колонтитулах и источниках данных, вкладывать в любые другие поля или использовать вместе с полем SKIPIF.

Пример

Следующие поля печатают три набора имен и телефонных номеров в каждом составном документе:

{ MERGEFIELD Имя }

{ MERGEFIELD Телефон }

{ NEXT }{ MERGEFIELD Имя }

{ MERGEFIELD Телефон }

{ NEXT }{ MERGEFIELD Имя }

{ MERGEFIELD Телефон }

 

Коды полей: NEXTIF

{ NEXTIF Выражение1 Оператор Выражение2 }

В случае истинности результата сравнения двух выражений переходит к следующей записи данных, не начиная новый составной документ. Поля слияния, следующие после поля NEXTIF в основном документе, заменяются значениями полей из следующей (а не из текущей) записи данных. В случае ложности результата переходит к следующей записи данных и начинает новый составной документ.

Не рекомендуется использовать поля NEXTIF в текущей версии Word. Гораздо проще выполнить отбор записей данных, нажав кнопку Отбор записей в диалоговом окне Слияние (меню Сервис).

Примечания

·                     Если в качестве одного из выражений используется поле MERGEFIELD, его содержимое берется из текущей (а не из следующей) записи данных.

·                     Поля NEXTIF нельзя использовать в сносках, примечаниях, колонтитулах и источниках данных, а также вкладывать в любые другие поля.

 

Коды полей: MERGEREC

{ MERGEREC }

Вставка в основной документ номера записи данных. В основном документе это поле отображается как «MERGEREC». При слиянии в каждом составном документе печатается номер соответствующей записи данных.

Примечание.   В этом поле отображается порядковый номер записи данных в наборе записей, отобранных для слияния с основным документом и, возможно, отсортированных, а не фактический номер записи в источнике данных. Например, база отдела кадров Microsoft Access может содержать тысячи записей. Однако для поздравления сотрудников, у которых стаж работы на предприятии достиг двадцати лет, требуется отобрать всего лишь несколько записей. Чтобы напечатать фактический номер записи в источнике данных, необходимо включить поле номера записи в источник данных и вставить соответствующее поле слияния в основной документ.

Пример

В следующем примере поле MERGEREC используется внутри поля = (Формула) для создания уникальных номеров счетов-фактур. При слиянии основного документа с источником данных значение поля MERGEREC добавляется к номеру, составленному из цифр даты и времени печати счета-фактуры.

Поле

Номер счета: { = { PRINTDATE \@ "ддММГГччмм" } + { MERGEREC } }

Результат

Номер счета: 21390946

 

Коды полей: MERGESEQ

{ MERGESEQ }

Подсчет числа записей данных, успешно слитых с основным документом. Word начинает нумерацию записей с 1 при каждом слиянии документов. Этот номер может отличаться от значения, вставленного полем MERGEREC.

Предположим, что слиянию подлежат только записи с десятой по двадцать пятую. Для первой (т. е. десятой) записи поле MERGESEQ напечатает 1, а поле MERGEREC — 10.

 
Коды полей: SKIPIF

{ SKIPIF Выражение1 Оператор Выражение2 }

В случае истинности результата сравнения двух выражений переходит к следующей записи данных и начинает новый составной документ. В случае ложности результата переходит к следующей записи данных, не начиная новый составной документ.

Не рекомендуется использовать поля SKIPIF в текущей версии Word. Гораздо проще выполнить отбор записей данных, нажав кнопку Отбор записей в диалоговом окне Слияние (меню Сервис).

Примечания

·                     Если в качестве одного из выражений используется поле MERGEFIELD, его содержимое берется из текущей (а не из следующей) записи данных.

·                     Поле SKIPIF нельзя использовать вместе с полем NEXT.

Пример

В следующем примере анализируется содержимое поля «Заказ» текущей записи данных. Для записей, у которых это поле содержит значение, меньшее 100, составной документ не создается:

{ SKIPIF { MERGEFIELD Заказ } < 100 }

 

Поля ASK и FILLIN, выводящие запрос, который заполняется при слиянии каждой записи данных с основным документом. Ответы записываются в указанный документ на бланке, в контракт или в другой составной документ, полученный в результате слияния с записью данных.

 
Коды полей: ASK

{ ASK Закладка "Приглашение " [Ключи ] }

Предлагает пользователю ввести данные и присваивает закладку введенным данным. Закладка – это место в документе или выделенный фрагмент текста, предназначенный для использования в качестве ссылки. Месту расположения текста автоматически присваивается указанное имя. В то место документа, где следует напечатать введенные данные, необходимо вставить поле REF. Для ссылки на введенные данные в других полях, например = (поле формулы), следует использовать имя закладки.

Приглашение выводится при каждом обновлении поля ASK. Введенные данные остаются присвоенными указанной закладке до тех пор, пока не будут введены новые. Если поле ASK используется в основном документе слияния, приглашение выводится при обработке каждой записи данных (если не указан ключ \o).

Элемент

Описание

Закладка

Имя закладки, присвоенной данным, введенным в ответ на приглашение, например «ИмяКлиента».

"Приглашение"

Текст, который отображается в диалоговом окне, например «Введите имя клиента».

Ключи

 

\d "Ответ"

Задает ответ, используемый по умолчанию в том случае, если пользователь ничего не введет в диалоговое окно. Например, поле

{ ASK Клиент "Введите имя клиента:" \d "Ли" }

присваивает значение «Ли» закладке «Клиент», если пользователь ничего не введет в диалоговое окно.

Если ответ, который следует использовать по умолчанию, не задан, Word использует последний введенный ответ. Чтобы указать, что используемое по умолчанию значение должно быть пустым, введите пустые кавычки после данного ключа (\d "" ).

\o

При использовании в основном документе слияния выводит приглашение только один раз (а не при обработке каждой записи данных). В этом случае в каждый из конечных документов вставляются одинаковые данные.

 

Коды полей: FILLIN

{ FILLIN ["Приглашение "] [Ключи ] }

Предлагает пользователю ввести текст. Ответ печатается там, где расположено поле. Если ответ требуется напечатать в нескольких местах документа, следует использовать поле ASK.

Приглашение выводится при каждом обновлении поля FILLIN. Если поле FILLIN используется в основном документе слияния, приглашение выводится при обработке каждой записи данных (если не указан ключ \o).

При создании нового документа, основанного на шаблоне, который содержит поля FILLIN, обновление этих полей производится автоматически.

Элемент

Описание

"Приглашение"

Текст, который отображается в диалоговом окне, например "Введите имя клиента".

Ключи

 

\d "Ответ"

Задает ответ, используемый по умолчанию в том случае, если пользователь ничего не введет в диалоговое окно. Например, поле
{ FILLIN "Введите имя клиента:" \d "Лобов" }
вставит «Лобов», если пользователь ничего не введет в диалоговое окно.

Если ответ, который следует использовать по умолчанию, не задан, Word использует последний введенный ответ. Чтобы указать, что используемое по умолчанию значение должно быть пустым, введите пустые кавычки после данного ключа (\d "").

\o

При использовании в основном документе слияния выводит приглашение только один раз (а не при обработке каждой записи данных). В этом случае в каждый из конечных документов вставляются одинаковые данные.

 

Примеры полей ASK, FILLIN

Размещенные в документе поля ASK и FILLIN выводят на экран окна, в которые можно ввести личные сообщения конкретным клиентам или данные, отсутствующие в источнике данных. По умолчанию такое окно появляется при каждом слиянии новой записи данных с основным документом. Таким образом можно включить индивидуальную информацию в каждый составной документ.

Вставьте поле FILLIN в то место основного документа, где предполагается разместить данные, вводимые по запросу. Поле ASK использует имя закладки для сохранения ответа пользователя. Чтобы включить в документ данные, вводимые по запросу ASK, вставьте поле закладки в основной документ. Закладку можно разместить в нескольких местах документа или использовать внутри других полей, например в поле IF или поле = (Формула). Вставьте закладку в любое место документа после поля ASK.

Пример 1

Данное поле FILLIN упрощает ввод правильных данных, включая в запрос имя клиента из текущей записи данных, например: «Введите время визита, назначенное Ивану Петрову». Вставьте поле ASK или FILLIN в основной документ, а затем добавьте поле слияния в код поля.

{ FILLIN " Введите время визита, назначенное { MERGEFIELD ИмяКлиента }:"}

Пример 2

Первое поле ASK содержит ключ поля \o, который добавляется автоматически при установке флажка Только один раз в диалоговом окне Вставка поля. Число, присвоенное закладке «ТекущаяСтавка», используется затем во всех составных документах. Второй запрос появляется при слиянии каждой записи данных с основным документом.

{ ASK ТекущаяСтавка "Введите текущую ставку по кредитам:" \o }
{ ASK СтавкаЗайма " Введите ставку по кредиту для { MERGEFIELD ИмяКлиента }:" }

 

Коды полей: IF

{ IF Выражение1 Оператор Выражение2 Текст1 Текст2 }

Поля IF (If...Then...Else...), выводящие сведения только при выполнении указанных условий. Например, поле IF можно использовать, чтобы проинформировать клиентов из определенного района об открытии нового, более близкого филиала.

В зависимости от результата сравнения двух выражений вставляет Текст1 или Текст2. В основном документе слияния поле IF можно использовать для анализа записей данных, например почтовых индексов или номеров банковских счетов. Например, можно разослать письма только клиентам, проживающим в определенном городе.

Элемент

Описание

Выражение1
Выражение2

Значения для сравнения. Выражение может быть именем закладки, строкой текста, числом, вложенным полем, возвращающим значение, или математической формулой. Если выражение содержит пробелы, оно должно быть заключено в кавычки.

Оператор

Оператор сравнения. Пробелы перед оператором и после него являются обязательными.

 

Оператор

Описание

 

=

Равно

 

<> 

Не равно

 

> 

Больше чем

 

< 

Меньше чем

 

>=

Больше либо равно

 

<=

Меньше либо равно

Текст1
Текст2

Текст, который вставляется в случае истинности (Текст1) или ложности (Текст2) логического выражения. Если Текст2 не указан, а логическое выражение ложно, не будет вставлено никакого текста. Каждая строка должна быть заключена в кавычки.

 

Примечание.   Если используется оператор = или <>, Выражение2 может содержать вопросительный знак (?), заменяющий любой отдельный знак, или звездочку (*), заменяющую любую строку знаков. Такое выражение должно быть заключено в кавычки. Если Выражение2 содержит звездочку, сумма длин фрагмента Выражения1, соответствующего этой звездочке, и остальных знаков значения Выражение2 не должна превышать 128 знаков.

Поле IF выполняет одну из двух операций в зависимости от указанных условий. Например, утверждение «Если погода будет хорошей, мы прогуляемся по парку, а если нет — пойдем в кино» определяет условие, которое должно быть соблюдено (хорошая погода), чтобы произошло определенное событие (прогулка по парку). Если условие не соблюдено, происходит альтернативное событие (поход в кино).

Приведенное ниже поле IF представляет собой утверждение того же типа. Если текущая запись данных содержит значение «Сан-Франциско» в поле «Город», в документ, полученный в результате слияния с этой записью данных, будет включен текст, содержащийся в первых кавычках. В противном случае будет добавлен второй текст.

{ IF Город = "Сан-Франциско" "Пожалуйста, позвоните в местное отделение нашей фирмы." "Пожалуйста, отправьте заполненный формуляр в приложенном конверте." }

Чтобы вставить поле IF в документ, нажмите кнопку Добавить поле Word на панели инструментов Слияние, а затем выберите поле IF...THEN...ELSE.

Задание нескольких условий в поле IF

Чтобы задать несколько условий в поле IF, в него следует включить поле COMPARE или другие поля IF.

Пример 1

В приведенном ниже примере при слиянии каждой записи данных поле COMPARE сравнивает поля данных «НомерКлиента» и «РангКлиента». Функция AND в поле = (Формула) возвращает значение «1» (истина), если значения обоих полей указывают на удовлетворительное состояние счета. В этом случае печатается текст из первых кавычек.

{ IF { = AND ( { COMPARE { MERGEFIELD НомерКлиента } >= 4 }, { COMPARE { MERGEFIELD РангКлиента } <= 3 } ) } = 1 " Удовлетворительно " " Неудовлетворительно "}

Вставьте поле IF в основной документ. В диалоговом окне Вставка поля выберите любое поле в качестве прототипа. Затем замените это поле в коде поля IF полем = Формула.

Пример 2

В приведенном ниже примере жителям Калифорнии и Вашингтона предоставляются особые скидки. Если в поле «Штат» указан другой штат, никакой текст не печатается, поскольку во втором поле IF не указан альтернативный текст.

{IF {MERGEFIELD Штат } = " Калифорния " " Для жителей Калифорнии предлагаются особые скидки на посещение Дальнего Востока и Японии." "{IF {MERGEFIELD Штат } = "Вашингтон" " Для жителей Вашингтона предлагаются особые скидки на посещение Дальнего Востока и Японии." " "} "}

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

Вставка других полей Word в поле IF

Сначала вставьте поле IF в основной документ, оставив пустыми поля для вводимого текста в диалоговом окне Вставка поля. Затем вставьте другие поля в код поля IF между соответствующими кавычками.

Пример 1

В случае выполнения условия, указанного в приведенном ниже поле IF, в документ вставляется содержимое файла, указанного в поле INCLUDETEXT. При задании местоположения и имени включаемого документа следует использовать двойные обратные косые черты (\), как показано в примере. Если условие не будет выполнено, будет вставлен элемент списка автотекста «Авторское право».

{ IF { MERGEFIELD Штат } = " Нью-Йорк " "{ INCLUDETEXT c:\\worddocs\\contract.doc }" "{ AUTOTEXT Авторское право }" }

Пример 2

Если поле «Компания» в записи данных содержит какую-либо информацию — т. е. не является пустым, — печатается текст из поля «АдресКомпании». В противном случае печатается текст из поля «ДомашнийАдрес».

{ IF { MERGEFIELD Компания } <> " " "{ MERGEFIELD АдресКомпании }" "{ MERGEFIELD ДомашнийАдрес }" }

Выполнение вычислений в поле IF

Вставьте поле IF в основной документ. В диалоговом окне Вставка поля выберите любое поле в качестве прототипа. Затем замените это поле в коде поля IF полем = (Формула). Чтобы напечатать результаты вычислений, вставьте поле = (Формула) между соответствующими кавычками. Чтобы сальдо отображалось с обозначением денежной единицы, введите соответствующий ключ числового шаблона (\#).

В приведенном ниже примере первое поле = (Формула) вычисляет текущее сальдо для каждого счета. Если сальдо положительно, печатается значение второго поля = (Формула). Если вычисленное сальдо равно 0 (нулю) или отрицательно, печатается альтернативный текст «Ваш счет пуст. Спасибо.».

{ IF { = { MERGEFIELD Сальдо } - {MERGEFIELD Платеж } } > 0 "Текущее сальдо: { = { MERGEFIELD Сальдо } - { MERGEFIELD Платеж } \# "# ##0,00р.;-# ##0,00р.) " }." "Ваш счет пуст. Спасибо." }

Коды полей: SET

{ SET Закладка "Текст" }

 

Поля SET (установка закладки), позволяющие присвоить текст, число или другие данные закладке. В итоговых составных документах эти сведения можно использовать несколько раз в макросах и других полях, например IF. Если эти сведения будут изменены, достаточно будет изменить один раз поле SET, а не искать по всему документу и изменять каждое вхождение.

 

Элемент

Описание

Закладка

Имя закладки, которой присваивается указанный Текст, например «Налог».

"Текст"

Значение, которое присваивается Закладке. Текст должен быть заключен в кавычки; для чисел кавычки не являются обязательными. Текст может быть значением вложенного поля.

 

Примеры полей SET

Поле SET присваивает значение (текст или число) закладке. Для включения этого значения в каждый составной документ следует вставить поле закладки в основной документ. В таком случае во всех составных документах будет повторяться одно и то же значение. Закладка будет подставлять это значение до тех пор, пока оно не будет изменено. Закладку можно разместить в нескольких местах документа или использовать внутри других полей, например в поле IF или поле = (Формула). Вставьте закладку в любое место документа после поля SET.

Пример 1

Первое поле SET определяет закладку «Цена», которая используется для вычисления значения закладки «Скидка». Закладка «Цена» должна быть определена в основном документе раньше поля SET, определяющего закладку «Скидка».

{ SET Цена "95,00" }
{ SET Скидка " { = Цена * 10%} " }

Вставьте поля SET в основной документ. При вставке второго поля SET оставьте пустым поле Значение в диалоговом окне Вставка поля. Установите курсор между пустыми кавычками в коде поля SET, вставьте символы поля ({}), нажав клавиши CTRL+F9, а затем введите текст поля = (Формула).

Приведенные ниже поля и текст вставлены в основной документ слияния. Поле IF определяет, какой номер телефона следует присвоить закладке «Телефон». Номер 1-415-555-1234 включается во все письма, направляемые в Калифорнию.

{ SET Телефон { IF { MERGEFIELD Штат } = "Калифорния" "1-415-555-1234" "1-415-555-4237" } }

Не забудьте позвонить нам до 30 ноября по телефону { Телефон }

 

 Пример 2
Если в ответ на запрос поля ASK пользователь введет 3, закладке «ПолнаяСтоимость» будет присвоено числовое значение 82,5. Ключ числового формата добавляет к результату обозначение денежной единицы. Обратите внимание на использование кавычек в первом поле SET.
Поле

{ SET Продавец "Дмитрий Калачев" }
{ SET Цена 25,00 }
{
SET Налог 10% }
{ SET Количество " Введите количество:" } }
{ SET ПолнаяСтоимость { = (Цена * Количество) * (1 + Налог) } }

Результат

Итого: { ПолнаяСтоимость \# "#0,00 р." }
Спасибо за покупку!
{ Продавец }

 

Фрагмент документа (шаблона) для подготовки писем (12 вариантов  из одного шаблона по результатам запроса к БД Access):

Сайт управляется системой uCoz