Часто данные электронной таблицы требуется использовать при составлении различных документов: отчетов, писем, договоров и т.д. В этом случае удобно использовать слияние данных MS Excel и MS Word.
Процедура слияния состоит из нескольких этапов.
1 этап. Подготовка данных электронной таблицы
Таблица, предназначенная для слияния, должна удовлетворять некоторым требованиям:
в таблице не должно быть объединенных ячеек. Вернее сказать так: ЕСЛИ в таблице есть объединённые ячейки, то надо быть готовым к тому, что при экспорте объединение будет отменено, и соответственно образуются лишние пустые строки и/или столбцы, что может нарушить структуру таблицы. В общем, объединённые ячейки - это зло :)
все столбцы должны иметь уникальные названия, которые будут использоваться при слиянии. Если в таблице отсутствует первая строка с названиями столбцов, то её заменит первая строка данных, а значит, она в рассылке участвовать не будет.
В качестве примера возьмем таблицу с перечнем клиентов фитнес клуба "Экселент"
2 этап. Подготовка шаблона документа Word
На этом этапе в текстовом редакторе Word формируется документ, в который в дальнейшем будут внедряться данные электронной таблицы. Текст этого документа представляет собой общую для всех рассылок часть.
Предположим всем клиентам, у которых срок действия клубной карты истекает в следующем месяце, планируется разослать письма с уведомлением.
Текст письма будет одинаковым за исключением обращения, номера клубной карты и даты окончания её действия. Эти данные будут импортироваться из таблицы Excel (выделено синим)
Таким образом, на этом этапе в документе Word печатается общий для всех писем текст.
Для более удобной дальнейшей работы при слиянии рекомендуется установить параметр Затенение полей в положение Всегда, чтобы отличать вставленные поля слияния от обычного текста. Если этот параметр включен, поля отображаются на сером фоне. На печать этот фон, естественно, не выводится.
3 этап. Работа Мастера слияния MS Word
Открываем файл письма в MS Word.
Проще всего осуществить слияние данных, следуя указаниям Мастера слияния. В версиях после Word2003 Мастер слияния запускается с помощью кнопкиНачать слияниена вкладкеРассылки
В версиях до Word2007 следует выполнить команду менюСервис -- Письма и рассылки -- Слияние. Кроме того, для более удобной работы версиях до Word2007 можно вывести панель инструментов Слияние
Ещё раз обращаю внимание, что в бланке письма содержится только общий для всех писем текст, поэтому обращение выглядит как Уважаем!, а номер карты и дата пропущены.
Работа Мастера слияния включает 6 шагов.
1 шаг: выбираем тип документа для рассылки, в нашем случае это Письма
2 шаг: выбираем документ, на основе которого будут создаваться рассылки, им может быть открытый текущий документ, шаблон или существующий документ. При выборе варианта Шаблон или Существующий документ появляется возможность указать нужный файл в Проводнике. Мы выбираем Текущий документ
3 шаг: выбираем получателей. В нашем случае источником данных будет таблица Excel, значит отмечаем вариант Использование списка. Затем с помощью кнопки Обзор... выбираем нужный файл в Проводнике
После выбора файла раскрывается диалоговое окно с выбранной таблицей. Если нам нужны все записи, то сразу нажимаем ОК. При необходимости можно список отсортировать, отфильтровать нужные записи, либо найти их с помощью соответствующих команд. Возможности фильтрации и поиска здесь, конечно, намного беднее, чем в Excel, но сделать простейшую выборку по текстовым или числовым значениям можно. Кроме того, возможно выбрать записи для рассылки вручную с помощью флажков :)
В нашем случае требуется установить фильтр по полю Рассылка по значению "да" (значение "да" появляется в таблице, если срок действия клубной карты истекает в следующем месяце). Фильтр можно установить, щёлкнув мышкой по названию поля и выбрав "да", либо воспользовавшись ссылкой Фильтр в этом же диалоговом окне
4 шаг: вставляем нужные поля в документ. Прежде, чем выбрать один из предложенных Мастером вариантов работы, следует установить курсор в тексте туда, куда Вы хотите вставить данные. Если Вы забыли это сделать, тоже ничего страшного, поля можно вставить в любое место документа, а затем перенести. В нашем случае ставим курсор после слова "Уважаем" перед восклицательным знаком. Так как нам нужны отдельные поля, выбираем Другие элементы...
Раскрывается диалоговое окно для выбора полей слияния.
Выбираем поле Имя, нажимаем Вставить, то же самое для поля Отчество. Закрываем окно Вставка полей слияния и добавляем пробелы между вставленными полями. Если параметр Затенение полей установлен в положение Всегда, то вставленные поля будут отчетливо видны на сером фоне. Устанавливаем курсор после №, снова нажимаем ссылку Другие элементы..., выбираем № клубной карты - Вставить. Аналогично вставляем поле Дата окончания действия карты
Кроме указанных выше полей требуется вставить окончание обращения ый(ая), которое зависит от значения поля Пол. Для этого воспользуемся специальным полем, позволяющим вставлять одно из двух значений в зависимости от данных. Поставим курсор сразу после слова "Уважаем", нажмём кнопку Правила на вкладке Рассылки и выберем вариант IF...THEN...ELSE. В версиях до Word2007 аналогичная кнопка называется Добавить поле Word и находится на панели инструментов Слияние
В раскрывшемся диалоговом окне зададим параметры
После нажатия ОК, получим результат
5 шаг: просматриваем получившиеся письма, используя кнопки навигации. На этом шаге также можно изменить список получателей, применив фильтр или убрав флажки. Так как мы применили фильтр ранее, получателей осталось 3.
Присмотревшись повнимательней к полученному результату, видим, что он не вполне соответствует нашим ожиданиям
Номер клубной карты вместо 001768 отображается как 1768, а дата и вовсе не по-нашему: сначала месяц, а потом день, хотя в таблице Excel всё было в порядке. Такие же неприятности могут возникнуть при импорте ячеек с десятичными числами, денежным форматом и т.д. Вывод неутешительный: при слиянии форматирование чисел и дат не сохраняется. Но выход есть!
Поля документа Word, в которые вставляются наши данные, представляют собой код, который, во-первых, можно посмотреть, а во-вторых, изменить. Чтобы увидеть код поля, например, с номером клубной карты, следует кликнуть по нему правой кнопкой мыши (ПКМ) и выбрать команду Коды/Значения полей. Получим следующее { MERGEFIELD"M__клубной_карты" } Сам код изменять мы не будем, а вот формат допишем. Принцип добавления формата будет понятен любому, кто хоть немного знаком с созданием пользовательского формата в Excel. Чтобы число всегда состояло из шести цифр, формат должен состоять из шести нулей: { MERGEFIELD"M__клубной_карты"\# "000000" }. Теперь снова ПКМ по полю -- Обновить поле, и видим число в нужном формате. Аналогично поступаем с датой { MERGEFIELD "дата_окончания_действия_карты" \@
"DD.MM.YYYY" }
6 шаг: выбираем вариант Изменить часть писем... и просматриваем получившийся документ, при необходимости его можно отредактировать, сохранить как отдельный файл или отправить на печать
*если в файле с базой клиентов при открытии в Excel2003 вместо формул будут отображаться ошибки #ИМЯ!, подключите надстройку Пакет анализа (Сервис -- Надстройки)
Ага, сделал, спасибо! Просто там есть и "надстройка" и "настройки"
Еще вот проблема: все вставки получаются одни и те же, т.е. делаю, например, первую вставку с данными "имя", потом делаю вставку с данными "фамилия", при этом, первая вставка из имени автоматом превращается в фамилию. И так постоянно, каждая новая вставка меняет все предыдущие на однотипную - последнюю. Вроде всяко перепробовал, но ничего не выходит.
для Офиса 2003 ваша инструкция не совсем подходит, а интуитивно настроить слияние, по мотивам вашей инструкции, не вышло: никак не пойму, как в Ворде сделать одновременное существование полей слияния из разных ячеек Икселя - при изменении одного поля происходит самопроизвольное изменение всех остальных ранее настроенных...
О каких строках речь? Из таблицы Excel для шаблона каждый раз берется только одна строка. Если хотите несколько строк на одной странице, то рассмотрите вариант Печать наклеек. Или речь о строках документа? Тогда это разные шаблоны
Начал осваивать функцию слияния в Word из таблицы Excel, добился определенных успехов, а именно, создал заполняемый акт скрытых работ (шаблон word в табличной форме, чтоб не разбегался текст) и неожиданно столкнулся с проблемой. Проблема заключается в том, что при наполнении данными ячейки в excel, при слиянии в word, часть текста исчезает! Постоянно отслеживать и добавлять данные с помощью копирования, тратит уйму времени! Подскажите, если сможете, как решить проблему! Или хотя бы сказать почему это происходит!
А как решить такую проблему как перенос процентов из ёкселя в ворд, в таблице значение указано в процентах, а при слиянии в ворде отображается как дробь?
Хороший вопрос. В этом случае структура поля будет примерно следующей: { = { MERGEFIELD "имя_вашего_поля" } *100 \# "0%" } Причем вторые фигурные скобки надо будет поставить через Ctrl+F9. Подробнее: выделяем { MERGEFIELD "имя_вашего_поля" }, нажимаем Ctrl+F9, затем внутри внешних фигурных скобок дописываем недостающие символы, не забывая в начале =
Pelena, дело в том, что я хочу, чтобы все строки по своим письмам сохранились в одном и том же документе, получается 100 писем. Но когда я вставляю у меня вставляется только одно значение, а остальные могу видеть только через кнопки просмотреть следующее или предыдущее, а я хочу чтобы 1 строка сохранилась в первом шаблоне, а остальные снизу в таких же шаблонах.
Похоже, Вы работу Мастера не завершили. Должен получиться один документ, в котором 100 листов. Если не разберётесь, задайте вопрос на форуме, приложив пример файла
Правильно, сколько страниц в документе получилось? Теперь можете Мастер закрыть, а с документом работать, как обычно, сохранить, редактировать и т.д. Не пойму, что Вас смущает? Если Вы хотите, чтобы на листе было несколько шаблонов, то на первом шаге Мастера выберите Наклейки, а не Письма
Pelena, Мой шаблон такой, что на одном листе 2 шаблона. Получается мне нужно 50 страниц в документе Word. 1 строка = 1 шаблон. Сделал накрейки, но все равно не получается ((((
к сожалению на работе политика ИБ не даёт загружать файлы на данный ресурс я почитал help по ссылке на сайте Майкрософт, не получается. вот в фигурных скобках код поля: MERGEFIELD "F21" \@ "dd.MM.yyyy" F21 - это ссылка на колонку в таблице Excel, данные в формате "дата".