Слияние базы данных с word

Использование слияния для отправки данных Access в Word

Access для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Еще…Меньше

Слияние — отличный способ заработать в Access. В этом видео показано, как создать типичную букву формы в Microsoft Word, начав с команды «Объединить в Word» Access. При этом ознакомьтесь с основными действиями, которые приведены ниже.

Примечание: Это видео было записано с помощью Access 2013, но основные действия применяются к Access 2010, Access 2016 и версии Access, которая распространяется по подписке.

Ваш браузер не поддерживает видео.

В этом видео

Вот как можно создать слияние почты Word в Access:

  1. Откройте базу данных Access с адресами, которые вы хотите объединить с Word.

  2. Если не открыта области навигации, нажмите F11, чтобы открыть ее.

  3. Выберите таблицу или запрос с адресами. Если поля адресов находятся в нескольких таблицах, создайте простой запрос на выборки, содержащий нужные поля, и выберите его для слияния.

  4. На вкладке «Внешние данные» в группе «Экспорт» нажмите кнопку «Слияние Word».

  5. Откроется диалоговое окно мастера слияния Microsoft Word.

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

  6. Выберите, следует ли мастер связывать адресные данные с существующим документом Word или начинать с нового пустого документа.

  7. Нажмите кнопку ОК.

Word запускает и отображает вкладку «Рассылки» и области «Слияние».

  1. Для работы с мастером щелкните ссылки «Далее» и «Предыдущее» в нижней части области слияния.

  2. На шаге 3 мастера выбирать список получателей не нужно. Это было определено, когда вы выбрали его в Access. Однако вы можете настроить список, нажав кнопку «Изменить список получателей». В открываемом окне можно удалить отдельных получателей из слияния, применить фильтры, отсортировать список и так далее.

  3. На шаге 4 мастера напишите письмо (если вы не работаете с существующим документом).

  4. Поместите курсор в документе в то место, где должны отображаться данные адреса, и щелкните «Блок адреса», «Строка приветствия» или «Другие элементы» на области слияния, чтобы вставить данные Access в документ. В появившись полях выберите нужный формат и нажмите кнопку «Подбор полей», чтобы убедиться в правильном совпадении полей.

  5. На шаге 5 мастера нажмите кнопки «Далее» (>>) и «Назад» (<<) для предварительного просмотра того, как будут выглядеть объединенные данные при печати документа.

  6. На шаге 6 мастера нажмите кнопку «Печать» и выберите нужные параметры печати.

  7. Сохраните и закроем документ Word.

    Примечания: 

    • Если после завершения работы мастера вам потребуется вернуться и настроить какие-либо параметры слияния, все операции доступны на вкладке «Рассылки» в Word.

    • При внесении изменений в оформление базы данных Access может потребоваться изменить некоторые параметры слияния в Word, чтобы снова правильно сработать слияние.

    • Мастер слияния предназначен для работы с данными адресов рассылки. Однако с помощью функции слияния можно объединять в Word данные любого типа, например записи о запасах, задачи или другие данные, хранимые в Access.

Дополнительные сведения о функции слияния в Word см. в указанных здесь статьях.

  • Персонализация документов с помощью слияния

  • Создание наклеев с помощью слияния

  • Слияние электронной почты в Word

Нужна дополнительная помощь?

Содержание

  • Вариант 1: Microsoft Office 2007 – 2021
    • Шаг 1: Подготовка данных таблицы Microsoft Excel
    • Шаг 2: Подготовка шаблона документа Microsoft Word
    • Шаг 3: Добавление поля слияния на страницу
    • Шаг 4: Проверка результатов
    • Шаг 5: Завершение слияния
  • Вариант 2: Microsoft Office 2003
  • Вопросы и ответы

как сделать слияние word и excel

Вариант 1: Microsoft Office 2007 – 2021

Посредством функции слияния в Microsoft Word можно поместить данные, взятые из внешнего файла Excel, в определенные места документа. Это удобно применять для массовой рассылки электронной почты или при печати шаблонных материалов, отличия между которыми всего в нескольких местах. При редактировании исходной таблицы информация на странице документа будет изменяться динамически.

Если целью слияния является перенос данных из Excel в такую же таблицу, только в Microsoft Word, рекомендуем воспользоваться специальной вставкой со связью, что значительно облегчит выполнение поставленной задачи. На нашем сайте в отдельной статье есть подробное описание этой операции.

Подробнее: Как перенести таблицу из Microsoft Excel в Word со связью

как сделать слияние word и excel_01

Важно! Все рассмотренные далее действия будут выполняться на примере программного обеспечения Microsoft Office 2016. По этой причине могут наблюдаться некоторые отличия в интерфейсе в сравнении с другими версиями текстового редактора. Но руководство все равно является актуальными, а серьезные отличия будут помечаться.

Шаг 1: Подготовка данных таблицы Microsoft Excel

Первостепенно необходимо подготовить исходные данные в таблице Microsoft Excel, чтобы их можно было корректно интегрировать в документ Word. Для этого следует избавиться от всех объединенных ячеек, информация должна находиться в каждом столбце отдельно, в противном случае во время слияния будут возникать проблемы. При необходимости обратитесь за помощью к другой нашей статье, в которой подробно описана процедура разъединения ячеек.

Подробнее: Как разъединить ячейки в Microsoft Excel

как сделать слияние word и excel_02

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

Подробнее: Как сделать заголовок столбцов в Microsoft Excel

как сделать слияние word и excel_03

Если база данных с исходными значениями создается в Microsoft Excel с нуля, рекомендуем воспользоваться «Умной таблицей». Это позволит облегчить соблюдение всех вышеописанных требований. На нашем сайте есть статья, в которой подробно рассматривается использование этой функции табличного редактора.

Подробнее: Как создать умную таблицу в Microsoft Excel

как сделать слияние word и excel_04

Lumpics.ru

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

Шаг 2: Подготовка шаблона документа Microsoft Word

Слияние зачастую выполняется для создания однотипных документов с отличиями в определенных местах. Например, эту функцию удобно использоваться для организации массовой рассылки электронной почты или печати документов. Соответственно, предварительно следует подготовить шаблон в Microsoft Word — часть текста, информация в которой будет оставаться неизменной.

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

как сделать слияние word и excel_05

Примечание! Пунктуационные и орфографические ошибки, которые текстовый редактор выделяет синим и красным цветом, исправлять не нужно. Они исчезнут в будущем автоматически, после того как слияние будет закончено.

Читайте также:
Как убрать красное / синее / зеленое подчеркивание текста в Microsoft Word
Как пропустить все ошибки в документе Microsoft Word

Дополнительно рекомендуется активировать опцию затенения полей, чтобы вставленная посредством слияния информация визуально выделялась в будущем. Это облегчит редактирование документа на завершающих этапах.

  1. Откройте меню «Файл», кликнув по одноименной вкладке в Microsoft Word 2013 – 2021 или нажав по иконке в верхнем левом углу в Microsoft Word 2007 – 2010.
  2. как сделать слияние word и excel_06

  3. На боковой панели слева щелкните по пункту «Параметры», чтобы открыть окно настроек программы.
  4. как сделать слияние word и excel_07

  5. Воспользовавшись навигационной панелью в левой части интерфейса, перейдите в раздел «Дополнительно» и в блоке «Показать содержимое документа» из выпадающего меню «Затенение полей» выберите значение «Всегда». После этого нажмите по кнопке «ОК», чтобы сохранить изменения.
  6. как сделать слияние word и excel_08

    На этом предварительная настройка документов считается завершенной, можно переходить непосредственно к слиянию Microsoft Word и базы данных Excel.

Шаг 3: Добавление поля слияния на страницу

Все инструменты для выполнения слияния находятся на вкладке «Рассылки». На данном этапе выполнения поставленной задачи важны только два блока инструментов — «Начало слияния» и «Составление документа и вставка полей».

как сделать слияние word и excel_09

Процедура слияния подразумевает добавление на страницу документа полей с соответствующей информацией, которая будет браться из заранее подготовленной таблицы Microsoft Excel. Для этого необходимо сделать следующее:

  1. Раскройте выпадающий список «Начать слияние», который находится в блоке «Начало слияния». Затем кликните в нем по предпочитаемому шаблону. В качестве примера будет выбран пункт «Письма», но работа с другими практически ничем не отличается.
    как сделать слияние word и excel_10

    Примечание! Если в выпадающем меню выбрать «Конверты» или «Наклейки», появится дополнительное диалоговое окно, в котором потребуется задать начальные параметры. Каждое действие сопровождается текстовой подсказкой, поэтому проблем возникнуть не должно. В остальном слияние выполняется описанным ниже способом.

  2. как сделать слияние word и excel_11

  3. Раскройте выпадающее меню «Выбрать получателей», которое расположено в том же блоке чуть ниже. В нем нажмите по опции «Использовать существующий список». Это позволит определить в качестве базы данных с исходными значениями заранее созданную таблицу Microsoft Excel.
  4. как сделать слияние word и excel_12

  5. В появившемся окне файлового менеджера перейдите в директорию, где находится таблица с данными, выделите ее щелчком левой кнопки мыши и нажмите «Открыть».
  6. как сделать слияние word и excel_13

  7. Если файл Excel содержит несколько листов с информацией, выберите необходимый и кликните по кнопке «ОК». Обратите также внимание на пункт «Первая строка данных содержит заголовки столбцов», если этот параметр соответствует действительности, установите отметку напротив него.
    как сделать слияние word и excel_14

    Обратите внимание! Если базу данных с исходными значениями необходимо будет сменить в будущем, воспользуйтесь опцией в блоке «Начало слияния», которая называется «Изменить список получателей». При ее вызове откроется файловый менеджер, в котором потребуется выбрать новую таблицу Excel.

  8. как сделать слияние word и excel_15

  9. Установите курсор в то место документа, куда необходимо вставить информацию, взятую из таблицы. Для этого раскройте в блоке «Составление документа и вставка полей» выпадающий список меню «Вставить поле слияния» и выберите нужный столбец данных. В качестве примера будет добавлено поле «Номер».
  10. как сделать слияние word и excel_16

  11. Аналогичным образом добавьте оставшиеся поля, каждый раз устанавливая курсор в нужное место и выбирая из выпадающего списка соответствующий параметр.
  12. как сделать слияние word и excel_17

Примечание! Оставшиеся инструменты в блоке «Составление документа и вставка полей» в практическом применении не нуждаются, они служат для автоматизации некоторых процессов при работе с большим объемом данных. Например, с помощью инструмента «Правила» можно задать некоторые условия вставки определенных полей, а вызвав диалоговое окно «Подбор полей» — заранее настроить дополнительные поля, чтобы быстро вставлять их посредством других опций.

как сделать слияние word и excel_18

Шаг 4: Проверка результатов

После добавления полей слияния на страницу документа информация из таблицы Excel отображаться в них не будет, из-за чего не получится визуально определить корректность подстановочных данных. Для этого необходимо воспользоваться другим инструментом вкладки «Рассылки», который так и называется — «Просмотр результатов».

как сделать слияние word и excel_19

Первостепенно необходимо включить отображение данных в полях. Для этого кликните по кнопке «Просмотреть результаты». На странице документа сразу отобразится информация в соответствующих местах. В правой части блока инструментов «Просмотр результатов» можно воспользоваться стрелками, чтобы ознакомиться с каждым образцом будущих документов. Позволяется даже вручную вводить номер строки Excel, из которой были взяты данные.

как сделать слияние word и excel_20

Если необходимо проверить заполнение полей определенного получателя, следует воспользоваться диалоговым окном «Найти получателя». Кликните по нему и в появившемся меню введите в поле «Найти» информацию из любого столбца таблицы Excel. Затем определите область поиска. Чтобы повысить точность при обработке большого объема данных, установите переключатель в положение «по полю» и из выпадающего списка выберите непосредственно нужное поле. Затем кликните по кнопке «Найти далее».

как сделать слияние word и excel_21

Оставшийся инструмент в блоке «Просмотр результатов» необходим для поиска ошибок, которые могут возникнуть из-за наличия объединенных ячеек в таблице Excel или несоответствия форматирования некоторых полей. Текстовый процессор Word автоматически вычисляет все ошибки и составляет соответствующий отчет. Для этого кликните по кнопке «Поиск ошибок» и в появившемся диалоговом окне определите тип проверки, после чего нажмите по кнопке «ОК».

как сделать слияние word и excel_022

Шаг 5: Завершение слияния

После добавления всех необходимых полей на страницу документа и проверки корректности их отображения можно переходить непосредственно к массовой рассылке или печати. Все необходимые для этого инструменты расположены на вкладке «Рассылки» в блоке «Завершение».

как сделать слияние word и excel_23

Открыв выпадающий список пункта «Найти и объединить», можно увидеть три опции:

  1. «Изменить отдельные документы». Позволяет выбрать один документ для редактирования и дальнейшего применения (печати или рассылки). Для этого необходимо будет в блоке «Просмотр результатов» определить нужного получателя, затем установить отметку на пункте «текущую запись» и кликнуть по кнопке «ОК». Если выбрать несколько документов или все, они сольются воедино.
  2. как сделать слияние word и excel_24

  3. «Печать документов». Открывает подобное диалоговое окно, в котором необходимо выбрать количество записей и нажать по кнопке «ОК». В дальнейшем откроется стандартное окно для печати документов.
    как сделать слияние word и excel_25

    На нашем сайте есть отдельная статья, в которой подробно описан процесс настройки печати. Если выполнение этой процедуры вызывает трудности, ознакомьтесь с изложенным там материалом.

    Подробнее: Как настроить печать документов в Microsoft Word

  4. как сделать слияние word и excel_26

  5. «Отправить электронные сообщения». Предоставляет диалоговое окно для настройки рассылки. Для корректной работы требуется, чтобы в базе данных Excel был отдельный столбец с перечнем адресов электронной почты каждого получателя, иначе этой функцией воспользоваться не получится.
  6. как сделать слияние word и excel_27

Вариант 2: Microsoft Office 2003

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

Примечание! Microsoft Word 2003 не имеет совместимости с новейшим форматом XSLX, поэтому, чтобы выполнить слияние, базу данных в Excel необходимо сохранять в формате XLS.

В рассматриваемой версии приложения нет привычной панели инструментов, поделенной на отдельные блоки, из-за чего пользоваться функциями слияния неопытному пользователю довольно трудно. По этой причине ниже все действия будут выполняться посредством специального Мастера.

  1. Раскройте меню «Сервис», находящийся в верхней части интерфейса окна, и наведите курсор на пункт «Письма и рассылки», затем кликните по опции «Слияние».
  2. как сделать слияние word и excel_28

  3. В появившейся панели Мастера, расположенной в правой части окна, выберите из списка тип документа и щелкните «Далее. Открытие документа». Как и в примере ранее, сейчас будет выбран шаблон «Письма».
  4. как сделать слияние word и excel_29

  5. Определите документ, на основе которого будет осуществляться рассылка. Если шаблон создавался в текущем, выберите соответствующий пункт и нажмите «Далее. Выбор типа документа».
  6. как сделать слияние word и excel_30

  7. Возьмите в качестве исходного списка получателей заранее созданную таблицу Microsoft Excel. Для этого установите курсор в положение «Использование списка» и кликните по ссылке «Обзор», находящейся чуть ниже.
  8. как сделать слияние word и excel_31

  9. В новом окне файлового менеджера перейдите в директорию с нужным документом, выделите его и щелкните по кнопке «Открыть».
  10. как сделать слияние word и excel_32

  11. По аналогии с ранее рассмотренными версиями текстового процессора выберите лист книги с нужной информацией, установите при необходимости отметку напротив пункта «Первая строка данных содержит заголовки столбцов» и нажмите «ОК».
  12. как сделать слияние word и excel_33

  13. Поставьте отметки напротив тех строк списка, информация из которых необходима для создания слияния. В нижней части этого диалогового окна есть кнопки с дополнительными функциями. Посредством них можно сразу снять или добавить выделения на все пункты, выполнить поиск или замену. После завершения этой процедуры нажмите «ОК».
  14. как сделать слияние word и excel_34

  15. Вернувшись в главное окно текстового редактора, кликните по пункту «Далее. Создание писем», расположенном на панели мастера.
  16. как сделать слияние word и excel_35

  17. Установите курсор на странице документа в то место, куда будет вставлено поле, затем щелкните по строке «Другие элементы».
  18. как сделать слияние word и excel_36

  19. В новом окне поставьте переключатель в положение «Поля базы данных», выделите в списке нужное поле и кликните по кнопке «Вставить». Проследите за тем, чтобы на странице документа появилась соответствующая надпись.
  20. как сделать слияние word и excel_37

  21. Закройте окно, установите курсор в новое положение, а затем снова кликните по пункту «Другие элементы» и вставьте новое поле. Таким образом добавьте все необходимые элементы на страницу. После этого щелкните «Далее. Просмотр писем».
  22. как сделать слияние word и excel_38

  23. Воспользовавшись предложенными инструментами на панели Мастера, просмотрите все экземпляры документов и выявите неточности, впоследствии исправив их. Также с помощью кнопки «Исключить получателя» можно убрать лишние дубликаты. После завершения этой процедуры кликните по пункту «Далее. Завершение слияния».
  24. как сделать слияние word и excel_39

  25. Завершите слияние, нажав по строке «Печать». После этого откроется новое диалоговое окно, в котором останется выбрать количество печатаемых экземпляров. Также можно отдельно изменить часть писем, воспользовавшись соответствующей опцией на панели Мастера.
  26. как сделать слияние word и excel_40

Обратите внимание! В зависимости от выбранного типа создаваемого слияния, который определялся на втором шаге вышепредставленной инструкции, в завершающей части будут предложены разные действия. В данном случае это печать документа, но если было выбрано «Электронное сообщение», предлагалось бы ввести контактную информацию получателей.

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

Слияние Word с SQL Server

Многие, наверное, уже умеют осуществлять слияние документов Word, например, с источником данных Excel или с тем же SQL сервером, но не все знают, как можно автоматизировать данный процесс или внедрить его в какую-нибудь программу.

Однажды у меня встала задача автоматизировать слияние некого шаблона Word с данными расположенными на SQL сервере, при этом все это необходимо было внедрить в программу, разработанную в Access 2003 (ADP проект). И сегодня я покажу пример решения данной задачи.

Содержание

  1. Исходные данные
  2. Создаем файл подключения к источнику данных MS SQL Server
  3. Создаем шаблон Word для слияния
  4. Код VBA Access 2003 для слияния документа Word с источником данных MS SQL Server

Исходные данные

И для начала давайте разберем исходные данные, т.е. что мы имеем.

Итак, в качестве клиента, как я уже сказал, у нас будет выступать ADP проект Access 2003. В качестве источника данных для примера будет выступать SQL Server 2012 Express. На компьютере установлен Microsoft Office 2013 (и Access 2003).

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

Заметка! Начинающим программистам рекомендую почитать книгу «SQL код», с помощью которой Вы научитесь работать с языком SQL во всех популярных системах управления базами данных.

   
   CREATE TABLE dbo.TestTable(
        ID INT IDENTITY(1,1) NOT NULL,
        ProductName VARCHAR(50) NOT NULL,
        Price MONEY NULL,
   CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED (ID ASC)
   )
   GO
   INSERT INTO dbo.TestTable(ProductName, Price)
     VALUES ('Компьютер', 500)
   GO
   INSERT INTO dbo.TestTable(ProductName, Price)
     VALUES ('Монитор', 400)
   GO
   INSERT INTO dbo.TestTable(ProductName, Price)
     VALUES ('Телефон', 200)
   GO
   INSERT INTO dbo.TestTable(ProductName, Price)
     VALUES ('Планшет', 300)
   GO      
   INSERT INTO dbo.TestTable(ProductName, Price)
     VALUES ('Принтер', 250)
   GO
   SELECT * FROM TestTable

Скриншот 1

Заметка! Если Вы не знаете, что делает вышеуказанная инструкция, рекомендую посмотреть мой видеокурс «T-SQL. Путь программиста от новичка к профессионалу. Уровень 1 – Новичок», который предназначен для начинающих. В нем подробно рассмотрены все базовые конструкции языка SQL, включая все вышеперечисленные.

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

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

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

Скриншот 2

Затем в окне выбора источника данных нажимаем кнопку «Создать».

Скриншот 3

Далее выбираем тип источника данных, т.е. Microsoft SQL Server. Жмем «Далее».

Скриншот 4

Курс по SQL для начинающих

Потом вводим адрес сервера и нажимаем «Далее».

Скриншот 5

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

Скриншот 6

И в заключение вводим понятное название файла подключения, а также мы можем сразу его сохранить в нужный нам каталог путем кнопки «Обзор», по умолчанию он сохраняется в «C:UsersИмя_ПользователяDocumentsМои источники данных». Нажимаем «Готово».

Скриншот 7

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

Создаем шаблон Word для слияния

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

Вся подготовка сводится к тому, что нам необходимо вставить поля слияния там, где это нам нужно. Это делается следующим образом. Вкладка «Вставка -> Экспресс-блоки -> Поле».

Скриншот 8

Ищем поле MERGEFIELD и вводим название поля, которое будет соответствовать полю в источнике данных (в моем случае это ProductName и Price). Жмем «ОК».

Скриншот 9

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

Скриншот 10

Код 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
   Dim ConnectString As String, PathOdc As String
   Dim WordApp As Object
   Dim WordDoc As Object
   'Шаблон файла ODC для подключения к данным
   PathOdc = "D:TestTestSourceData.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
                .SuppressBlankLines = True
                .Execute Pause:=False
    End With
    'Закрываем шаблон без сохранения
    WordDoc.close (wddonotsavechanges)
    Set WordDoc = Nothing
    Set WordApp = Nothing
   Else
    MsgBox "Не указан шаблон для слияния", vbCritical, "Ошибка"
   End If
   Ex1:
    Exit Sub
   Err1:
    MsgBox Err.Description
    WordDoc.close (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, в котором уже все данные заполнены и документов будет столько, сколько строк в источнике.

Скриншот 11

Как видим, все работает. На этом у меня все, надеюсь, материал был полезен. Пока!

МЕНЮ САЙТА

  • 1
  • 2
  • 3

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

ОПРОСЫ


Слияние данных 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 вместо формул будут отображаться ошибки #ИМЯ!, подключите надстройку Пакет анализа (Сервис — Надстройки)

  • 1
  • 2
  • 3
  • 4
  • 5

Категория: Интеграция Excel с другими приложениями | Добавил: Pelena (22.11.2012)

Просмотров: 315784 | Комментарии: 63
| Теги: рассылки, Слияние данных
| Рейтинг: 4.7/15

Всего комментариев: 61 1 2 3 »

Порядок вывода комментариев:

   Никак не найду в 2003 офисе в указанном месте функцию «Пакет анализа». Может как то по другому называется?

0
 

   Ага, сделал, спасибо! Просто там есть и «надстройка» и «настройки» ;)

Еще вот проблема: все вставки получаются одни и те же, т.е. делаю, например, первую вставку с данными «имя», потом делаю вставку с данными «фамилия», при этом, первая вставка из имени автоматом превращается в фамилию. И так постоянно, каждая новая вставка меняет все предыдущие на однотипную — последнюю. Вроде всяко перепробовал, но ничего не выходит.

Еще не нашел где активировать «затенение полей»

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

0
 


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

12   
Prickly  
(23.12.2014 08:58)
[
Материал]

   Т.е. имеется ввиду в одном и том же документе Word создать 100 шаблонов письма и вставить туда по одной строке из Excel?

0
 


   Здравствуйте. Зачем все просматривать? Если выборку делать не надо, то и просматривать незачем, просто в Мастере жмите Далее

14   
Prickly  
(23.12.2014 09:31)
[
Материал]

   Pelena,
дело в том, что я хочу, чтобы все строки по своим письмам сохранились в одном и том же документе, получается 100 писем.
Но когда я вставляю у меня вставляется только одно значение, а остальные могу видеть только через кнопки просмотреть следующее или предыдущее, а я хочу чтобы 1 строка сохранилась в первом шаблоне, а остальные снизу в таких же шаблонах.

0
 


   Похоже, Вы работу Мастера не завершили. Должен получиться один документ, в котором 100 листов. Если не разберётесь, задайте вопрос на форуме, приложив пример файла

16   
Prickly  
(23.12.2014 09:45)
[
Материал]

   Может вы поможете?
Я дошел до последнего шага в примере. Изменить части писем и Печать. Где завершается работа Мастера?

0
 


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

18   
Prickly  
(23.12.2014 11:26)
[
Материал]

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

0
 


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

   Получилось ))))))))))))) Урээ!!
Елена,
а теперь не подскажите, как это можно автоматизировать?


   со вставкой даты возникли проблемы.
вставляется дата в формате число: 41997
применение формата @ «DD.MM.YYYY» не помогло :(

0
 


   Без файла трудно что либо сказать, задайте вопрос на форуме, приложив файлы-примеры


   к сожалению на работе политика ИБ не даёт загружать файлы на данный ресурс :(
я почитал help по ссылке на сайте Майкрософт, не получается.
вот в фигурных скобках код поля: MERGEFIELD «F21» @ «dd.MM.yyyy»
F21 — это ссылка на колонку в таблице Excel, данные в формате «дата».

0
 


   Пришлите кусок файла Excel и документ мне на почту, она есть на Глваной странице сайта в контактах

1-25 26-50 51-61

Добавлять комментарии могут только зарегистрированные пользователи.

[

Регистрация

|

Вход

]

В условиях недостатка времени на
изучение такой темы, как “Базы данных”, для
ознакомления учащихся с основными понятиями
этой темы можно использовать текстовый редактор
Microsoft Word. С этой целью может быть применена
возможность редактора, которая называется
“слияние данных”.

Напомним основные положения (см. также
[1]). При проведении слияния задействованы две
части: база данных и документ, а сама операция
слияния как раз и позволяет объединить их (в
документе используются данные из базы данных).
Как правило, слияние применяется для оформления
в документе текстового редактора писем,
информация для которых (фамилии адресатов, их
адреса и т.п.) хранится в базе данных. В статье [1]
приведен ряд примеров использования слияния
документов при решении задач “школьной” жизни.
Возможны и другие примеры.

В простейшем случае в качестве базы
данных можно использовать таблицу, оформленную в
Microsoft Excel, в которой каждому полю соответствует
отдельная колонка1.

Итак, пусть имеется лист электронной
таблицы Microsoft Excel (см. рис. 1). На нем
представлена информация об учениках школы:
фамилия, имя, класс, пол и дата рождения, а также
для каждого учащегося рассчитано число полных
лет в его возрасте и определено, является ли он
(она) именинником на текущей неделе. Этот лист и
будем рассматривать как базу данных.

Рис. 1

Рис. 2

Рис. 3

Сначала учащимся предлагается простое
задание: в текстовом редакторе Microsoft Word
напечатать список, скажем, 10а класса.

Задача решается следующим образом.

1. Открывается панель инструментов Слияние
(Вид — Панели инструментов — Слияние).

2. Во вкладке Рассылки выбирается
пункт Выбрать получателей — Использовать
существующий список
, после чего следует
указать файл Excel со списком учеников (см. рис. 2),
а в нем — соответствующий лист.

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

Если на этом и закончить работу, то
будет отобран список всех учеников в таблице,
причем на одном листе будут представлены
фамилия, имя и обозначение класса лишь одного
ученика. Поэтому для решения поставленной задачи
надо воспользоваться фильтром — выбрать
Изменить список получателей — Фильтр и в окне
Фильтр и сортировка выбрать “Класс”, “равно” и
“10а” (см. рис. 4).

Рис. 4

Рис. 5

4. Для объединения всех отобранных
записей в одном документе необходимо выполнить
команды Найти и объединитьИзменить
отдельные документы
Объединить все.

5. Ну а для того, чтобы все фамилии были
на одной странице, следует заменить разрыв
раздела на знак абзаца по всему документу (см. рис.
5).

Конечный вид документа представлен на рис.
6
.

Рис. 6

Фактически мы только что
продемонстрировали, как создать простейший
запрос к базе данных.

После этого можно предложить ученикам
самостоятельно выдать список всех, кто родился в
текущем месяце, “невезучих”, родившихся 13-го
числа, всех, кто родился в первой половине года, и
т.п.

Можно также создавать запросы со
сложными условиями. Например, получить список
всех девочек, родившихся в феврале, или список
всех Маш и Марий, список мальчиков для военкомата
(тех, кому исполнилось 16 лет) и т.п.

Несколько более сложные запросы
возникают, когда мы хотим получить, например,
список всех мальчиков 7-х классов. Очень часто
ученики не обращают внимания, что в графе (поле)
“Класс” стоит обозначение класса с буквой. Это
означает, что в фильтре запроса в списке Сравнение
(см. рис. 4) необходимо использовать пункт
“содержит”.

Думаем, читателям не составит труда
придумать десяток-другой запросов к этой очень
понятной базе данных.

Интересным аспектом предложенной
методики является обсуждение с учащимися
преобразования логических выражений (сложных
условий). Рассмотрим следующий запрос:
“Требуется выдать список девочек старших
классов, у которых в поле “Имя” записано Лена
или Елена”.

Здесь мы имеем четыре условия:

1) поле “Имя” равно “Лена” (обозначим
его для краткости — Л);

2) поле “Имя” равно “Елена” (Е);

3) поле “Класс” содержит 10 (К10);

4) поле “Класс” содержит 11 (К11).

После обсуждения с учащимися общего
условия для отбора значений в список можно
получить такое:
(Л ИЛИ Е) И (К10 ИЛИ К11), причем именно со скобками,
так как операция конъюнкции выполняется раньше,
чем операция дизъюнкции. Однако при работе с
фильтром (см. рис. 4) скобки расставить нельзя.
Как же быть? Ответ такой — надо раскрыть скобки,
не забывая, что конъюнкция (
И) — это аналог
умножения, а дизъюнкция (ИЛИ) — аналог сложения:

(Л ИЛИ Е) И (К10 ИЛИ К11) = Л
И К10 ИЛИ Л И К11 ИЛИ Е И К10 ИЛИ Е
И К11.

Таким образом, фильтр будет следующим: Имя
равно Лена
И Класс содержит 10 ИЛИ Имя
равно Лена
И Класс содержит 11 ИЛИ Имя
равно Елена
И Класс содержит 10 ИЛИ Имя
равно Елена
И Класс содержит 11. Фрагмент
окна Фильтр и сортировка с таким условием3
приведен на рис. 7.

Рис. 7. Фрагмент окна Фильтр и
сортировка

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

Литература

1. Сенокосов А.И. Слияние
документов как лучшее средство от головной боли.
/ Информатика, № 2/2006.

Примечание редакции. Как отмечалось,
при описании методики автор использует версию
Microsoft Word 2007. В предыдущих версиях редактора вид
панели инструментов Слияние отличается от
представленного в статье. В таких версиях:

1) для выбора файла Excel со списком
учеников в качестве источника данных следует
использовать кнопку (Открыть источник данных);

2) для вставки в документ нужных полей
слияния предназначена кнопка (Вставить поля слияния);

3) для отображения имен полей или
отобранных значений используется кнопка (Поля/данные);

4) окно Фильтр и сортировка вызывается с помощью
кнопки (Получатели).
После этого надо щелкнуть на стрелке () рядом с надписью на заголовке
столбца и выбрать пункт Дополнительно;

5) объединить все отобранные записи в одном
документе можно с помощью кнопки (Слияние в новый документ);

6) замена разрыва раздела на знак
абзаца по всему документу осуществляется
“обычными” средствами Word (Правка — Заменить,
с использованием специальных символов).


1 При создании этой таблицы
целесообразно ознакомить учащихся с такими
понятиями, как “база данных”, “поле”, “запись”
и “запрос”. — Прим. ред.

2 Автор использует версию редактора
Word 2007. — Прим. ред.

3 В окне условие представлено не
полностью (используется вертикальная полоса
прокрутки). — Прим. ред.

Понравилась статья? Поделить с друзьями:
  • Сливать данные в excel
  • Слияние word excel форматы даты
  • Сливаем все в один столбец excel
  • Слишком сложная формула в excel
  • Слетели форматы в excel