Створення джерела даних для злиття у Word. Злиття документів Microsoft Word Злітає підключення до джерела даних під час злиття

03.10.2020 Огляди

Тепер потрібно створити джерело даних злиття (адрес та прізвищ одержувачів листа).

1. У розділі Вибір одержувачіввікна Злиттяобласті завдань виберіть пункт Створення списку(Рис. 8.6).

Рис. 8.6. Вікно Вибір одержувачівмайстри Злиття

2. Натисніть команду Створитив розділі Створення списку. Відкриється вікно діалогу, показане на рис. 8.7.

Джерело даних злиття є базою даних, що складається із записів, на основі кожної з яких за допомогою головного документа буде згенеровано конкретний екземпляр листа. Усі записи мають однакові поля даних.

Деякі найпоширеніші поля заздалегідь внесені до списку вікна створення джерела даних. Ви можете видалити з бази даних непотрібні поля та додати власні.

Рис. 8.7. Створення джерела даних

Інші пункти розділу Вибір одержувачівдозволяють вибрати як джерело даних наявну базу даних, раніше створену в Word або у додатку типу Access або адресну книгу.

ПриміткаНаявність у джерелі цих зайвих полів ніяк не впливає на результат злиття, але уповільнює роботу програми.

3. Натисніть кнопку Налаштування. Відкриється вікно діалогу, встановлене на рис. 8.8.

4. Виділіть пункт Звернення.

5. Клацніть на кнопці вилучитизітріть виділене поле.

Рис. 8.8. Налаштування полів джерела даних

Рис. 8.9. Вікно діалогу Одержувачі злиття

6. Повторюючи кроки 4 і 5, видаліть усі поля, крім Ім'я, Прізвище, Організація, Адреса 1і Індекс.

7. Клацніть на кнопці ОК.

8. Клацніть на кнопці Закритивікна діалогу.

9. У вікні діалогу збереження документа введіть ім'я Гості і клацніть на кнопці Зберегти. З'явиться показане на рис. 8.9 вікно діалогу Одержувачі злиття, в якому нині немає жодного запису.

10. Вам обов'язково доведеться колись ввести інформацію в джерело даних. Клацніть на кнопці Змінити...зробити це зараз. Відкриється форма для введення даних. Давайте додамо кілька записів. Пізніше злиття згенерує рівно стільки копій головного документа, скільки записів є у джерелі даних.

11. Заповніть поля форми.

12. Щоб додати ще один запис, натисніть кнопку Створити запис.

13. Введіть ще кілька записів, перенісши до них інформацію, подану в табл. 8.1.

ТАБЛИЦЯ 8.1. Джерело даних злиття

14. Клацніть на кнопці Закрити, щоб зберегти базу даних, а потім – на кнопці ОКвікна Одержувачі.

ПриміткаЩоб змінити інформацію про джерело даних, клацніть на панелі інструментів Злиттяна кнопці Одержувачі, а потім у вікні діалогу - на кнопці Змінити. Відкриється форма джерела даних. Для переміщення за записами джерела користуйтеся кнопками Перша, назад, Вперед, Останняу нижній частині форми.

Рис. 8.10. Панель інструментів Злиття

Нещодавно в одній організації спостерігала дику картину:)

Компанія переїжджала в нову будівлю – з МО до Москви. Йдеться, відповідно, про зміну істотних умов трудового договору всім співробітників. За процедурою співробітників потрібно повідомити під розпис про майбутній переїзд, а потім укласти з усіма додаткові угоди до трудових договорів. В організації працюють близько 1,5 тисячі осіб, відділ кадрів має терміново підготувати документи.

Що ж відбувається далі?
Начальник відділу кадрів надсилає запит до відділу інформаційні технологіїпро доопрацювання кадрової системи: потрібно створити друковані форми- Повідомлення та додаткова угода. ІТ відповідають, що подібне доопрацювання коштуватиме стільки тисяч євро, а витрати до бюджету не закладені, і, крім іншого, реалізація можлива не раніше, ніж через два місяці.

Надсилаючи прокляття на адресу відділу ІТ, кадровики виходять на роботу у вихідні, покинувши будинки маленьких дітей. Безсмертний трудовий подвиг: за дві доби створено 3000 документів! До шаблону вручну додавали ім'я та паспортні дані кожного працівника, і так 3000 разів!

Чи зможуть вони пробачити собі так бездарно витрачений час, коли дізнаються, що використовуючи Злиття (Mail Merge)шаблону в Word з таблицею Excel, що містить персональні дані, зробити це можна було за двадцять хвилин:)

КРОК 1. Створюємо шаблон документа Word.

Червоним виділено ті дані, які будуть змінюватися: прізвище, ім'я, по батькові, номер, дата трудового договору, посада, підрозділ та закінчення у словах шановний(а) та отримав(а) залежно від статі.

КРОК 2. Створюємо джерело даних в Excel.

Після того, як ми налаштуємо Злиття, програма буде підставляти дані з джерела шаблону. Кожен рядок – окремий документ.

КРОК 3. Повертаємось до шаблону документа, який ми створили у Word. Нам належить працювати з вкладкою "Розсилання", уважно вивчіть її.

Натискаємо кнопку "Вибрати одержувачів", вибираємо варіант "Використовувати існуючий список" та відкриваємо джерело даних ( файл Excelз інформацією про співробітників).

У наступному вікні вибираємо аркуш файлу, у якому містяться необхідні дані.

КРОК 4. Ставимо курсор там тексту шаблону, куди потрібно вставити дані з джерела, натискаємо кнопку "Вставити поле злиття" і вибираємо потрібне поле.

Ось так виглядає мій шаблон після того, як вставлені всі поля злиття:

КРОК 5. Створюємо Правила, що змінюють закінчення слів "шановний" та "отримав" залежно від статі співробітника.

Ставимо курсор після закінчення слова. Натискаємо кнопку "Правила" і вибираємо "IF...THEN...ELSE" у списку, що випадає.

Записуємо правило: якщо стать жіноча - тоді..., інакше...

КРОК 6. Форматуємо дати.

Якщо раніше вам вже доводилося використовувати Розсилки (Злиття), ви, напевно, стикалися з тим, що дати, перенесені з Excel, виглядають у Word зовсім не так, як потрібно. Наприклад, замість 19.06.2012 ви, найімовірніше, побачите 6/19/2012, навряд чи такий результат вас влаштує.

Є різні способивирішити цю проблему, скористаємося найпростішим та зручнішим.

Натисніть клавіші Alt+F9, тепер ми можемо бачити коди полів злиття.

Всередині коду поля Дата_договору перед закриває фігурною дужкоюпоставимо зворотну косу межу, а після неї ключ форматування:
(MERGEFIELD "Дата_договору" \@ "DD.MM.YYYY" }
@ - позначення дати, "DD.MM.YYYY" - ключ формату дати виду 19.06.2012 .
Можна використовувати будь-який інший формат. Наприклад, щоб дата мала вигляд 19 червня 2012 р., використовуйте ключ \@ "DD MMMM YYYY р.".

Щоб вийти з режиму редагування, знову натискаємо Alt+F9.

КРОК 7. Натискаємо кнопку "Перегляд результатів", щоб перевірити, що вийшло.

КРОК 8. Редагуємо список працівників.

Натиснувши кнопку "Змінити список одержувачів", можна виключити окремі записи зі списку, перевірити, чи немає повторів, встановити сортування або фільтри.

Сортування варто приділити особливу увагу, щоб не довелося витрачати час на розкладання документів після того, як вони будуть роздруковані. Найзручніше використовувати сортування за прізвищами співробітників або за назвами підрозділів.

КРОК 8. Завершуємо злиття.

Натискаємо кнопку "Знайти та об'єднати". Якщо вибрати "Друк документів", документи будуть відразу надіслані на принтер. Якщо потрібно перед друком переглянути документи і внести правки, вибираємо "Змінити окремі документи".

Буде сформовано окремий файл Wordз результатами злиття.

Готово! Насолоджуємось зекономленим часом!

UPDATE у відповідь на коментар alexey_lao :
За допомогою простого макросу можна зберегти кожен документ як окремий файл.

Зберігаємо наш шаблон як файл із розширенням.docm (файл Word з підтримкою макросів).

Натискаємо клавіші Alt+F8 (виклик вікна Макрос).

У вікні задаємо "Ім'я" макросу (наприклад, SaveFiles) і вибираємо наш файл із шаблоном у випадаючому списку "Макроси з" (я волію створювати макроси безпосередньо у файлі, щоб вони працювали і тоді, коли файл відкритий на іншому комп'ютері). Натискаємо кнопку "Створити".

У тому місці, де блимає курсор, записуємо код макросу:

Dim DocNum As Integer
For DocNum = 1 Для ActiveDocument.MailMerge.DataSource.Reco rdCount
ActiveDocument.MailMerge.DataSource.Acti veRecord = DocNum
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.Acti veRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.Acti veRecord
End With
.Execute Pause:=False
End With
With ActiveDocument
.SaveAs FileName:="C://Test/" & DocNum, FileFormat:=wdFormatXMLDocument
.Close
End With

Замість C://Test/ вкажіть адресу папки, в якій потрібно зберегти документи.
Закриваємо вікно редактора Visial Basic і повертаємось у наш документ із шаблоном.

Знову натискаємо Alt+F8, вибираємо макрос SaveFiles у списку та натискаємо кнопку "Виконати".

Поки комп'ютер по черзі створює та зберігає кожен документ, можна випити чашку кави з печінкою. Або піти додому поспати, якщо документів більше, ніж кілька сотень:)


______________

Завантажити файли з прикладами можна тут:
http://hrexcel.ru/download/excel4hr_istochnik_dannyh.xlsx
http://hrexcel.ru/download/excel4hr_shablon.docx

Експериментуйте!

Наразі ми з Вами розглянемо приклад реалізації того, як можна виконати злиття даних Wordз даними Microsoft SQL Server, при цьому даний процесбуде автоматизовано засобами VBA Access 2003.

Багато хто, напевно, вже вміє здійснювати злиття документів Word, наприклад, із джерелом даних Excelабо з тим же SQL сервером, але не всі знають, як можна автоматизувати цей процес або впровадити його в якусь програму.

Якось у мене постало завдання автоматизувати злиття деякого шаблону Word з даними розташованими на SQL сервері, при цьому все це необхідно було впровадити в програму, розроблену в Access 2003 (ADP проект). І сьогодні я покажу приклад вирішення цього завдання.

Початкові дані

І спочатку давайте розберемо вихідні дані, тобто. що ми маємо.

Отже, як клієнт, як я вже сказав, у нас виступатиме ADP проект Access 2003. Як джерело даних для прикладу виступатиме SQL Server 2012 Express. На комп'ютері встановлено Microsoft Office 2013 (та Access 2003).

Створимо на сервері тестову таблицю та заповнимо її даними ( допустимо у базі даних Test). Для цього Ви можете запустити наступну SQL інструкцію.

CREATE TABLE dbo.TestTable(ID INT IDENTITY(1,1) NOT NULL, ProductName VARCHAR(50) NOT NULL, Price MONEY NULL, CONSTRAINT PRIMARY KEY CLUSTERED (ID ASC)) GO INSERT INTO dbo.TestTable(ProductName, Price) ("Комп'ютер", 500)






VALUES ("Монітор", 400) GO INSERT INTO dbo. TestTable (ProductName, Price) VALUES ("Телефон", 200) TestTable(ProductName, Price) VALUES ("Планшет", 300) GO INSERT INTO dbo.TestTable(ProductName, Price) VALUES ("Принтер", 250) GO SELECT

Створюємо файл підключення до джерела даних MS SQL Server

Тепер давайте створимо файл підключення (ODC) до нашого джерела даних. Цей файл виступатиме свого роду « шаблоном файлу підключення», оскільки згодом ми можемо, і перевизначатимемо і базу даних і сам SQL запит.

Для створення файлу підключення до SQL серверудавайте відкриємо Word та стандартним способомстворимо даний файл, тобто. за допомогою функціоналу « Розсилки». ( До речі, приклад створення підключення до SQL сервера з Excel ми з Вами вже розглядали в матеріалі – Excel — Підключення та отримання даних з SQL сервера).


Потім у вікні вибору джерела даних натискаємо кнопку « Створити».



Потім вводимо адресу сервера та натискаємо « Далі».


Потім вибираємо базу даних і таблицю для підключення, ще раз нагадаю, це лише шаблон, всі ці параметри ми будемо перевизначати, тиснемо « Далі».


І насамкінець вводимо зрозумілу назву файлу підключення, а також ми можемо відразу його зберегти в потрібний нам каталог шляхом кнопки « Огляд», за умовчанням він зберігається в « C:\Users\Ім'я_Користувача\Documents\Мої джерела даних». Натискаємо « Готово».


Все, файл створений, Word може закрити без збереження.

Створюємо шаблон Word для злиття

Тепер підготуємо шаблон Word, тобто. це той документ, який ми будемо підставляти дані з бази даних SQLсервера.

Вся підготовка зводиться до того, що нам необхідно вставити поля злиття там, де нам це потрібно. Це робиться в такий спосіб. Вкладка « Вставка -> Експрес-блоки -> Поле».


Шукаємо поле MERGEFIELDі вводимо назву поля, яка відповідатиме полю в джерелі даних ( у моєму випадку це ProductName та Price). Тиснемо « ОК».


Так як у мене це тестовий шаблон в ньому тексту практично не буде, і виводитиму я всього два поля, у Вас швидше за все буде багато тексту і багато полів злиття.


Код VBA Access 2003 для злиття документа Word із джерелом даних MS SQL Server

Залишилося написати код VBA, який здійснюватиме злиття. Для прикладу давайте додамо на форму кнопку StartMerge та поле Price для фільтрації даних. Потім у редакторі Visual Basicнапишемо процедуру для злиття, допустимо з назвою MergeWord, і в обробник події кнопки StartMerge ( натискання кнопки) вставляємо код виклику цієї процедури. Весь код буде виглядати так ( я його прокоментував). Відразу поясню, що шаблон Word і ODC у мене лежать у каталозі D:\Test\.

"Процедура для запуску злиття Private Sub MergeWord(TemplateWord As String, QuerySQL As String) "Перший параметр - Шлях до шаблону Word "Другий параметр - Рядок запиту до БД On Error GoTo Err1 WordDoc As Object "Шаблон файлу ODC для підключення до даних PathOdc = "D:\Test\TestSourceData.odc" If TemplateWord<>"" Then "Створюємо документ Word Set WordDoc = CreateObject("Word.document") Set WordDoc = GetObject(TemplateWord) Set WordApp = WordDoc.Parent "Створюємо підключення до джерела даних (MS SQL Server) "Деякі дані беремо з поточного підключення ADP проекту ConnectString="Provider=SQLOLEDB.1; " & _ "Integrated Security=SSPI;" & _ "Persist Security Info=True; " & _ "Initial Catalog=" & CurrentProject.Connection.Properties("Initial Catalog") & "; " & _ "Data Source=" & CurrentProject.Connection.Properties("Data Source") & "; & _ "Use Procedure for Prepare=1;" & _ "Auto Translate=True;" & _ "Packet Size=4096;" & _ "Use Encryption for Data=False;" "Задаємо джерело даних WordDoc.MailMerge.OpenDataSource NAME:=PathOdc, _ Connection:=ConnectString, _ SQLStatement:=QuerySQL "Робимо видимим Word WordApp.Visible = True WordApp.Activate "Починаємо злиття With WordDoc.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLineec= True With "Закриваємо шаблон без збереження WordDoc.close (wddonotsavechanges) Set WordDoc = Nothing Set WordApp = Nothing Else MsgBox "Не вказаний шаблон для злиття", vbCritical, "Помилка" End If Ex1: Exit Sub Err1: MsgBox Err.DescriptionDoc (wddonotsavechanges) WordApp.Quit Set WordDoc = Nothing Set WordApp = Nothing Resume Ex1 End Sub Private Sub StartMerge_Click() Dim Filter As String Filter = "" "Умова If Nz(Me.Price, "")<>"" Then Filter = "WHERE Price >= " & Me.Price End If "Виклик процедури злиття Call MergeWord("D:\Test\Шаблон.docx", "SELECT * FROM ""TestTable"" " & Filter & " " ) End Sub

Зберігаємо та перевіряємо роботу.

Після натискання на кнопку (StartMerge) запуститься Word, у якому вже всі дані заповнені та документів буде стільки, скільки рядків у джерелі.


Як бачимо, все працює. На цьому у мене все, сподіваюся, матеріал був корисним. Бувай!

Зі статті в попередньому номері ми дізналися, що метод злиття дозволяє створювати джерело даних засобами Word. У цій статті ми розглянемо, як інформацію про джерело даних можна отримати з таблиці Excel.

Джерело даних може використовуватися у версіях Word 2000/2002/2003/2007, але процес його створення відбувається однаково для будь-яких версій Word. Отже, опишемо алгоритм створення джерела даних:

  1. Відкрийте Excel.
  2. У таблиці, що з'явилася, в комірку А1 введіть ім'я першого поля (наприклад, країна), в В1-другого (наприклад, індекс) і т.д. (Рис. 1).

Рис. 1. Таблиця даних

Використання таблиціWord 2000/2002

  1. Відкрийте або створіть у Word основний документ.
  2. Злиттякнопку ( Діалогове вікно Злиття).
  3. Злиттяна другому кроці виберіть кнопку Отримати дані,а зі списку – Відкрити джерело даних(Рис. 2).

Рис. 2. Список, що розкривається Відкрити джерело даних

  1. У новому діалоговому вікні Відкриття джерела данихіз списку, що розкривається Тип файлуВиберіть КнигиMSExcel.
  2. Відкрийте вибраний файл, натиснувши кнопку Відкрити.
  3. У діалоговому вікні, що з'явилося. MicrosoftExcel(Мал. 3) задайте діапазон або ім'я.

Рис. 3. Вікно MicrosoftExcel

В результаті файл Excelстав як би «прив'язаний» як джерело даних, тому тепер можна вставляти поля злиття в основний документ, а також злиття джерела даних з основним документом так, як було пояснено в попередній статті.

Правило відбору записів для включення до процесу злиття з основним документом

У процес злиття можуть бути включені записи, які відповідають певному заданому критерію. Для вибору записів використовуються зв'язки АБО, І.

Для того, щоб задати критерії відбору:

  1. Відкрийте документ.
  2. Виберіть на панелі інструментів Злиттякнопку ( Діалогове вікно Злиття).
  3. У діалоговому вікні Злиттяна третьому кроці виберіть кнопку Відбір записів.

В результаті з'явиться діалогове вікно Відбір записів.

  1. У вкладці Відбір записівдіалогового вікна Відбір записіву стовпці Полезі списку, що розкривається, виберіть ім'я поля, на значення якого буде накладено умову.
  2. У стовпці ОператорВиберіть операцію порівняння.
  3. У стовпці Значеннявведіть значення, з яким буде проводитись порівняння.
  4. Після завдання всіх критеріїв закрийте вікно Відбір записів, натиснувши кнопку ОК(Рис. 4) .

Рис. 4. Вікно Відбір записів

  1. У діалоговому вікні Злиттянатисніть кнопку Об'єднатиабо на панелі інструментів Злиттянатисніть кнопку ( Злиття у новий документ).

Використання таблиціExcel як джерело даних уWord 2003

  1. У меню Сервісвиберіть команду Листи та розсилки, а потім - команду Злиття.
  2. У області завдань, що відкрилася Злиття,використовуючи кнопку Далі,перейдіть на третій етап майстра Вибір одержувача,далі клацніть на команду
  3. Знайдіть файл таблиці Excel і відкрийте його, двічі клацнувши на ньому мишею.
  4. Підтвердьте, що перший рядок даних містить заголовки стовпців (саме вони є полями злиття) (рис. 5).

Рис. 5. Вікно Виділити таблицю

Примітка. У вікні Одержувачі злиттяможна редагувати записи.

  1. Перейшовши до четвертого етапу, виберіть команду
  2. У діалоговому вікні, що з'явилося. Додавання поля злиття(мал. 6) виберіть поле зі списку, попередньо встановивши курсор миші в місце основного документа, де має бути поле злиття.

Рис. 6. Діалогове вікно Додавання поля злиття

Щоб зробити про тбор записів для включення в процес злиття з основним документом Word 2003, необхідно,перейшовши до третього етапу, вибрати команду, а у діалоговому вікні Одержувачі злиття(Мал. 7) зняти прапорець R у запису, на адресу якого не треба надсилати текст основного документа.


Рис. 7. Діалогове вікно Одержувачі злиття

Використання таблиціExcel як джерело даних уWord 2007

  1. На вкладці Розсилкау групі Злиттявиберіть команду Вибрати одержувачів.
  2. Виберіть (рис. 8), знайдіть потрібний файлу діалоговому вікні Вибір джерела данихта відкрийте його.

Рис. 8. Вибір команди Використати існуючий список

Примітка. Після вибору файлу стануть активними команди вкладки

  1. Клацніть мишею Змінити список полівпри зміні списку.
  2. Клацніть мишею Вставити поле злиттяі виберіть поле зі списку, попередньо встановивши курсор миші в місце основного документа, де має бути поле злиття.

Відбір записів для включення в процес злиття з основним документом Word 2007

  1. У вкладці Розсилкиу групі Почати злиттяНатисніть на Вибрати одержувачіві у списку меню виберіть Використати існуючий список.
  2. Знайдіть необхідний файл таблиці Excel і відкрийте його, двічі клацнувши мишею.
  3. Підтвердьте, що перший рядок даних містить заголовки стовпців (саме вони є полями злиття).
  4. У вкладці Розсилкиу групі Почати злиттяВиберіть Змініть список одержувачів.

5.У діалоговому вікні Одержувачі злиття (мал. 9) зніміть прапорець R у запису, на адресу якого не треба надсилати текст основного документа.

Рис. 9. Вікно Одержувачі злиття

Основні переваги використання Excel як джерела даних для процесу злиття

1. Економія часу, т.к. зникає необхідність виконувати одну й ту саму роботу багаторазово.

2. Автоматизація робочого процесу шляхом створення множини копій шаблону документа з різними реквізитами.

3. Зручність та легкість виконання роботи, яка складається всього з трьох етапів: створення основного документа, створення джерела даних та безпосередньо їх злиття.

Г.А. Сєрова, проф. РДГУ

Часто дані електронної таблиці потрібно використовувати під час упорядкування різних документів: звітів, листів, договорів тощо. У цьому випадку зручно використовувати злиття даних 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 або на