Статьи из блога

Статьи из блога

Слияние — массовое создание однотипных документов

Рубрика: Шаблоны Word
Метки: | | |
Среда, 23 июня 2010 г.
Просмотров: 36094
Подписаться на комментарии по RSS
Версия для печати

[Ссылки на статью]

Автор заметки: Александр Витер

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

  1. Определяем тип создаваемого документа. Вкладка "Рассылки"→группа "Начать слияние"→"Начать слияние"→"Письма";
  2. В той же группе "Выбрать получателей"→"Использовать существующий список…" и укажите путь к файлу базы данных;
  3. Вводим постоянную часть текста. В нужных местах вставляем соотвествующие поля базы данных (группа "Составление документа и вставка полей"→"Вставить поле слияния");
  4. Если нужно поставить условие, например для изменения обращения в зависимости от пола, то выбираем "Правила"→IF…THEN…ELSE после чего заполнить поля, как на рисунке:

  5. Как вы видите, поля отличаются от обычного текста. Чтобы увидеть результат слияния, нажмите кнопку "Просмотр результатов". Поле со стрелочками справа от кнопки, позволяет просмотреть результат слияния для разных записей базы данных;
  6. На этом процесс создания писем заканчивается. Все письма можно сохранить в виде одного документа (группа "Завершить"→"Найти и объединить"→"Изменить отдельные документы…"), распечатать ("Найти и объединить"→"Печать документов…") или отослать по электронной почте ("Найти и объединить"→"Отправить электронные сообщения…"). В случае отправки по электронной почте, адрес тоже нужно указывать из поля базы данных.

Файлы с примерами можно скачать:

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 8

  1. Игорь
    10.09.2010 в 00:22 | #1

    Александр! Подскажите какой макрос можно вставить в файл слияние для сохранения каждой записи в файл PDF с уникальным названием "Исходящий номер". Исходящий номер - уникальный присваивается каждой записи в файле EXCEL.

    Спасибо.

  2. imaslov
    13.09.2010 в 11:27 | #2

    viter.alex Предложил слудующее решение:

    Sub SaveEachMergeToFile()
      Dim oMergedDoc As Document
      Const OUTGOING As String = "number"
      If ActiveDocument.MailMerge.MainDocumentType  wdNotAMergeDocument Then
    Set oMergedDoc = ActiveDocument
      Else
        MsgBox "Активный документ должен быть создан слиянием.", vbExclamation, "Сохранение документов после слияния"
        Exit Sub
      End If
      If Not oMergedDoc.Bookmarks.Exists(OUTGOING) Then
        MsgBox "В документе нет закладки с именем " & OUTGOING & ", которая используется в качестве имени файла." & vbNewLine & _
              "Создайте закладку с таким именем и запустите макрос ещё раз", vbExclamation, "Сохранение документов после слияния"
        Exit Sub
      End If
      
      oMergedDoc.MailMerge.DataSource.ActiveRecord = wdFirstRecord
      
      Dim i As Integer
      With oMergedDoc.MailMerge
        For i = 1 To .DataSource.RecordCount
          .Destination = wdSendToNewDocument
          .SuppressBlankLines = True
          With .DataSource
            .FirstRecord = .ActiveRecord
            .LastRecord = .ActiveRecord
          End With
          .Execute False
          With Documents(1)
            .ExportAsFixedFormat oMergedDoc.Path & Application.PathSeparator & oMergedDoc.Bookmarks(OUTGOING).Range.Text, wdExportFormatPDF
            .Close False
          End With
          .DataSource.ActiveRecord = wdNextRecord
          DoEvents
        Next
      End With
      
      MsgBox "Все документы слияния сохранены в папку """ & oMergedDoc.Path & """", vbInformation, "Сохранение документов после слияния"
    End Sub

  3. Олег
    07.11.2011 в 16:42 | #3

    А как сделать, чтобы поля в созданном документе автоматически обновлялись при изменении базы данных?

    Office 2010

  4. 26.12.2011 в 17:45 | #4

    Подскажите пожалуйста, как через слияние в word, формировать расслку эл. почтой так, чтобы включить в поле слово / фразу с гиперссылкой? Т.е. я ставил в эксель (базу данных) слова с гиперссылками, но почтой (отулук) отправлялись письма без гиперссылок, да и сам ворд теряет гиперссылки из полей?

  5. 27.12.2011 в 08:40 | #5

    Здравствуйте, подскажите пожалуйста, что

    делать в такой ситуации, у меня каждое утро

    автоматически выдаются справки и у них свежие

    данные, но чтоб они обновились и открылись, надо

    нажать кнопку «обновить» и еще надо закрыть а

    перед закрытием надо нажать кнопку «сохранить» а

    если я не закрываю Excel через кнопку «х» то она не

    создает эту справку, вот по этому можно ли как то

    написать аккуратный макрос, чтоб закрыть excel

    автоматически и само собой перед закрытием

    сохранились обновленные данные, а перед

    открытием обновлялись автоматически, не нажимая

    кнопку обновить или не обновить каждый

    раз, когда выполняются автоматизация для этих

    справок

  6. Аноним
    29.10.2012 в 15:36 | #6

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

  7. Алексей
    31.01.2013 в 17:31 | #7

    Хорошая статья. Но я работаю в openoffice, поэтому по аналогии создал для себя и коллег памятку по writer.

    Еще в качестве источника данных можно использовать БД, тогда исчезает необходимость возни с электронной таблицей.

  8. Николай
    11.10.2013 в 13:37 | #8

    Привет!

    Слияние позволяет отправлять почту.

    Очень удобно, но есть только три формата:

    1. Документ (к письму прицепляется файл *.doc)

    2. HTML (к письму прицепляется файл *.html)

    3. Текст (всё вставлется в тело письма)

    А как реализовать п. 1, только, чтобы вложенным файл был в формете PDF (т.е. перед вставкой шла конвертация)?

Оставьте комментарий!

(обязательно)

^ Наверх