Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Статьи об Excel

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 33866
Главная » Статьи » Эффективная работа в Excel » Интеграция Excel с другими приложениями

Слияние данных MS Excel и MS Word
Часто данные электронной таблицы требуется использовать при составлении различных документов: отчетов, писем, договоров и т.д. В этом случае удобно использовать слияние данных 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"  }

И получаем окончательный вариант


Подробнее о кодах полей Word можно прочитать в справочной системе Word или на официальном сайте Microsoft

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




       
*если в файле с базой клиентов при открытии в Excel2003 вместо формул будут отображаться ошибки #ИМЯ!, подключите надстройку Пакет анализа (Сервис -- Надстройки)

Категория: Интеграция Excel с другими приложениями | Добавил: Pelena (22.11.2012)
Просмотров: 101189 | Комментарии: 48 | Теги: рассылки, Слияние данных | Рейтинг: 4.8/10


Всего комментариев: 471 2 »
0   Спам
1    Керим   (16.02.2013 15:47)
   Отличный сайт и урок. Спасибо Автору :)

0   Спам
2    Вопрос   (06.10.2013 22:36)
   Никак не найду в 2003 офисе в указанном месте функцию "Пакет анализа". Может как то по другому называется?

0   Спам
3    Pelena   (06.10.2013 22:47)
   Сервис -- Надстройки

Спам-сообщение скрыто. Показать
0   Спам
4    Pelena   (06.10.2013 23:41)
   К сожалению, я не вижу, в какой последовательности Вы выполняете действия. Задайте вопрос на форуме, приложите файлы, посмотрим.
Затенение полей: Сервис -- Параметры -- Вид -- Затенение полей -- ВСЕГДА

Спам-сообщение скрыто. Показать
0   Спам
5    Вопрос   (07.10.2013 01:14)
   для Офиса 2003 ваша инструкция не совсем подходит, а интуитивно настроить слияние, по мотивам вашей инструкции, не вышло: никак не пойму, как в Ворде сделать одновременное существование полей слияния из разных ячеек Икселя - при изменении одного поля происходит самопроизвольное изменение всех остальных ранее настроенных...

Спам-сообщение скрыто. Показать
0   Спам
6    игорь   (18.11.2013 11:13)
   Пример замечательный но если необходимо брать разное количество строк чтобы в первой странице было 3 стоки во второй 5 в третей 24

0   Спам
7    Pelena   (18.11.2013 12:38)
   О каких строках речь? Из таблицы Excel для шаблона каждый раз берется только одна строка. Если хотите несколько строк на одной странице, то рассмотрите вариант Печать наклеек. Или речь о строках документа? Тогда это разные шаблоны

Спам-сообщение скрыто. Показать
+1   Спам
8    wypuk510   (13.12.2013 19:02)
   Начал осваивать функцию слияния в Word из таблицы Excel, добился определенных успехов, а именно, создал заполняемый акт скрытых работ (шаблон word в табличной форме, чтоб не разбегался текст) и неожиданно столкнулся с проблемой. Проблема заключается в том, что при наполнении данными ячейки в excel, при слиянии в word, часть текста исчезает! Постоянно отслеживать и добавлять данные с помощью копирования, тратит уйму времени! Подскажите, если сможете, как решить проблему! Или хотя бы сказать почему это происходит!

Заранее спасибо!

0   Спам
9    xelly   (28.09.2014 20:10)
   Спасибо большое за статью! Благодаря вам сэкономила несколько часов лишней работы! :)

Спам-сообщение скрыто. Показать
0   Спам
10    biokir   (10.10.2014 10:42)
   А как решить такую проблему как перенос процентов из ёкселя в ворд, в таблице значение указано в процентах, а при слиянии в ворде отображается как дробь?

0  
11    Pelena   (10.10.2014 18:22)
   Хороший вопрос.
В этом случае структура поля будет примерно следующей:
{ = { MERGEFIELD "имя_вашего_поля" } *100 \# "0%" }
Причем вторые фигурные скобки надо будет поставить через Ctrl+F9. Подробнее: выделяем { MERGEFIELD "имя_вашего_поля" }, нажимаем Ctrl+F9, затем внутри внешних фигурных скобок дописываем недостающие символы, не забывая в начале =

0   Спам
12    Prickly   (23.12.2014 08:55)
   Здравствуйте,
А если у меня скажем 100 строк в Excell. Как мне сделать письмо так, чтобы не просматривать все стрелочкой, а создать 100 шаблонов для письма и для каждого шаблона вставить по одной строке Excel?

0   Спам
13    Prickly   (23.12.2014 08:58)
   Т.е. имеется ввиду в одном и том же документе Word создать 100 шаблонов письма и вставить туда по одной строке из Excel?

0  
14    Pelena   (23.12.2014 08:59)
   Здравствуйте. Зачем все просматривать? Если выборку делать не надо, то и просматривать незачем, просто в Мастере жмите Далее

0   Спам
15    Prickly   (23.12.2014 09:31)
   Pelena,
дело в том, что я хочу, чтобы все строки по своим письмам сохранились в одном и том же документе, получается 100 писем.
Но когда я вставляю у меня вставляется только одно значение, а остальные могу видеть только через кнопки просмотреть следующее или предыдущее, а я хочу чтобы 1 строка сохранилась в первом шаблоне, а остальные снизу в таких же шаблонах.

0  
16    Pelena   (23.12.2014 09:39)
   Похоже, Вы работу Мастера не завершили. Должен получиться один документ, в котором 100 листов. Если не разберётесь, задайте вопрос на форуме, приложив пример файла

0   Спам
17    Prickly   (23.12.2014 09:45)
   Может вы поможете?
Я дошел до последнего шага в примере. Изменить части писем и Печать. Где завершается работа Мастера?

0  
18    Pelena   (23.12.2014 09:53)
   Правильно, сколько страниц в документе получилось? Теперь можете Мастер закрыть, а с документом работать, как обычно, сохранить, редактировать и т.д. Не пойму, что Вас смущает? Если Вы хотите, чтобы на листе было несколько шаблонов, то на первом шаге Мастера выберите Наклейки, а не Письма

0   Спам
19    Prickly   (23.12.2014 11:26)
   Pelena,
Мой шаблон такой, что на одном листе 2 шаблона. Получается мне нужно 50 страниц в документе Word. 1 строка = 1 шаблон.
Сделал накрейки, но все равно не получается ((((

0  
20    Pelena   (23.12.2014 11:40)
   Не видя файла, больше ничего сказать не могу. Добро пожаловать на форум

0   Спам
21    Prickly   (23.12.2014 11:50)
   Pelena,
Может я вас в Скайп добавлю и отправлю файл?(

0   Спам
22    Prickly   (23.12.2014 12:22)
   Получилось ))))))))))))) Урээ!!
Елена,
а теперь не подскажите, как это можно автоматизировать?

0   Спам
23    rvshestakov   (27.01.2015 08:31)
   со вставкой даты возникли проблемы.
вставляется дата в формате число: 41997
применение формата \@ "DD.MM.YYYY" не помогло :(

0  
24    Pelena   (27.01.2015 08:47)
   Без файла трудно что либо сказать, задайте вопрос на форуме, приложив файлы-примеры

0   Спам
25    rvshestakov   (27.01.2015 09:09)
   к сожалению на работе политика ИБ не даёт загружать файлы на данный ресурс :(
я почитал help по ссылке на сайте Майкрософт, не получается.
вот в фигурных скобках код поля: MERGEFIELD "F21" \@ "dd.MM.yyyy"
F21 - это ссылка на колонку в таблице Excel, данные в формате "дата".

1-25 26-47
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Продвижение в социальных сетях рекламное агентство http://www.seop.ru.
Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!