Злітає підключення до джерела даних під час злиття. Підготовка документів під час масових змін: Злиття шаблону Word та джерела даних Excel

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

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

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


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

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

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

Компанія переїжджала в нову будівлю – з МО до Москви. Йдеться, відповідно, про зміну істотних умов трудового договору всім співробітників. За процедурою співробітників слід повідомити під розпис про майбутній переїзд, а потім укласти з усіма додаткові угоди до трудових договорів. В організації працюють близько 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 Office, Word легко приймає дані з Outlook, Excel і Access. Можна використовувати інші джерела, включаючи веб-сторінки, текстові файли OpenDocument та файли даних з роздільниками, збережені у вигляді звичайного тексту. Якщо у вас ще немає джерела даних, його можна створити у програмі Word.

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

Джерела даних для злиття

Нижче наведено деякі джерела даних, які можна використовувати для злиття в Word.

Інші файли баз даних

Для злиття можна використовувати інші джерела даних. Щоб отримати доступ до цих джерел, запустіть майстер підключення до даних.

Налаштувавши джерело даних, ви зможете створити наклейки , конверти , листи та повідомлення електронної пошти за допомогою злиття.

додаткові відомості

Залишилися питання про злиття у Word?

Допоможіть нам покращити Word

У вас є ідеї щодо покращення злиття або інших функцій Word? Поділіться ними на сторінці