Макрос word создание нового документа

Создание нового документа Word или открытие существующего из кода VBA Excel. Методы Documents.Add и Documents.Open. Сохранение и закрытие документа.

Работа с Word из кода VBA Excel
Часть 2. Создание и открытие документов Word
[Часть 1] [Часть 2] [Часть 3] [Часть 4] [Часть 5] [Часть 6]

Новый документ Word создается из кода VBA Excel с помощью метода Documents.Add:

Sub Test1()

Dim myWord As New Word.Application

Dim myDocument As Word.Document

Set myDocument = myWord.Documents.Add

myWord.Visible = True

End Sub

Переменную myDocument можно объявить с типом Object, но тогда не будет ранней привязки к типу Word.Document и подсказок при написании кода (Auto List Members).

Открытие существующего документа

Существующий документ Word открывается из кода VBA Excel с помощью метода Documents.Open:

Sub Test2()

Dim myWord As New Word.Application

Dim myDocument As Word.Document

Set myDocument = _

myWord.Documents.Open(«C:Документ1.docx»)

myWord.Visible = True

End Sub

Замените в этой процедуре строку «C:Документ1.docx» на адрес своего файла.

Подключение к открытому документу

Присвоение переменной ссылки на существующий экземпляр Word.Application осуществляется в VBA Excel с помощью функции GetObject:

Sub Test3()

Dim myWord As Object, myDoc As Word.Document

On Error GoTo Instr

    Set myWord = GetObject(, «Word.Application»)

    Set myDoc = myWord.Documents(«Документ1.docx»)

    myDoc.Range.InsertAfter «Добавляем новый текст, подтверждающий подключение к открытому документу.»

Exit Sub

Instr:

    MsgBox «Произошла ошибка: « & Err.Description

End Sub

Если открытого приложения Word нет, выполнение функции GetObject приведет к ошибке. Также произойдет ошибка, если не будет найден указанный документ (в примере — «Документ1.docx»).

Сохранение и закрытие документа

Сохранение нового документа

Чтобы сохранить из кода VBA Excel новый документ Word, используйте метод SaveAs2 объекта Document:

myDocument.SaveAs2 («C:Документ2.docx»)

Замените «C:Документ2.docx» на путь к нужному каталогу с именем файла, под которым вы хотите сохранить новый документ.

Сохранение изменений в открытом документа

Сохраняйте изменения в существующем документе с помощью метода Document.Save или параметра SaveChanges метода Document.Close:

‘Сохранение изменений документа

myDocument.Save

‘Сохранение изменений документа

‘при закрытии

myDocument.Close ‘по умолчанию True

myDocument.Close True

myDocument.Close wdSaveChanges

‘Закрытие документа без

‘сохранения изменений

myDocument.Close False

myDocument.Close wdDoNotSaveChanges

Закрытие любого сохраненного документа

Метод Document.Close закрывает документ, но не приложение. Если работа с приложением закончена, оно закрывается с помощью метода Application.Quit.

  • Документы Word
  • Создание файлов
  • Работа с файлами

Таблица Excel с исходными данными для создания документов Word

Макрос предназначен для программного создания документов Word на основе шаблона

(без использования функции слияния в Word)

В прикреплённом к статье архиве находятся 2 файла:

  • шаблон договора в формате Microsoft Word (расширение .dot)
  • файл Excel с макросом

Настройки макроса задаются в коде:

Const ИмяФайлаШаблона = «шаблон.dot»
Const КоличествоОбрабатываемыхСтолбцов = 8
Const РасширениеСоздаваемыхФайлов = «.doc»

При нажатии кнопки запуска макрос на основе шаблона dot создаёт очередной файл, и в этом документе производит замену текста («кода поля») из первой строки файла Excel на значение поля (из очередной строки с данными файла Excel)

Папка для сформированных документов создаётся автоматически, и содержит в имени текущую дату и время
(например, созданная папка будет называться Договоры, сформированные 01-05-2011 в 15-03-24)

Имена создаваемых файлов формируются объединением полей фамилия, имя и отчество, с добавлением расширения doc

PS: Макрос был написан достаточно давно, когда я только начинал изучать VBA, — так что код недостаточно универсален.

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

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

В надстройке — много возможностей, и полезных дополнений: склонение ФИО в родительный и дательный падежи, автоматический вывод на печать (с заданным количеством копий), размещение созданных файлов в разных папках, создание и рассылка писем со вложениями, и множество других полезных функций.

По вышеприведённой ссылке программа заполнения документов Word из Excel доступна для бесплатного скачивания.

Внимание: просьбы о доработке макроса, описанного в этой статье, не принимаются.

Есть новая (универсальная) версия, — в которой уже есть практически всё, что может понадобиться.

  • 197090 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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

Если вы часто создаете документы, основанные на одном конкретном шаблоне, то вам пригодится следующий совет.

Для начала рассмотрим стандартные (и неэффективные) действия обычного пользователя при создании документа из шаблона:

  1. Щелкаете мышью на кнопке Файл.
  2. Из раскрывшегося подменю щелкаете на команде Создать.
  3. В области задач Создание документа щелкаете мышью на команде На моем компьютере либо, если ранее уже работали с этим шаблоном, выбираете его из списка Последние использовавшиеся шаблоны.
  4. В открывшемся диалоговом окне либо выбираете необходимый вам шаблон, либо переходите на одну из вкладок окна, содержащую ваш шаблон и выбираете его уже из этой вкладке.
  5. Щелкаете на кнопке ОК

Как видите, стандартные действия по выбору шаблона включают в себя от 3 до 5 щелчков мыши. Не так уж и много, но все равно неэффективно.

Эти действия можно сократить, если вывести на панель инструментов (речь идет о редакторе Word 2003) кнопку, по щелчку на которой сразу же будет создаваться новый документ, основанный на вашем шаблоне. Для этого достаточно создать небольшой макрос, состоящий из одной строки (длинной, поэтому разбитой на части):

Sub newDocTemplate()
Documents.Add Template:= _
   "C:Documents and Settings<ИмяПользователя>Application DataMicrosoftШаблоны<ИмяШаблона.dot>", _
   NewTemplate:=False, DocumentType:=0
End Sub

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

Подробнее о способе размещения кнопок на панелях инструментов в Word 2003 или на панели быстрого доступа в редакторе Word 2007 описано в пилотном выпуске бюллетеня «Макросы» (ссылка ниже):

Страницы работы

Фрагмент текста работы

ЗАНЯТИЕ
8

СОЗДАНИЕ
МАКРОСОВ В WORD

ЗАДАНИЕ
1
. Создать макрос Письмо, который формирует оформительную часть
любого письма. Запустить макрос на выполнение стандартным способом, выполнив
команду Сервис ► Макрос ► Макросы.

Рекомендации по выполнению

Пояснение.Каждый документ состоит из трех
частей: Заголовочной, содержательной и оформительной. Оформительная часть – это
подписи руководителей, дата и др.

1.  Начните
запись макроса, выполнив команду: Сервис Макрос ► Начать
запись.

2.  Введите
название макроса в строку ввода Имя макроса, например, Письмо.

3.  Выберите
место хранения макроса из списка Макрос доступен для, например, в
общем шаблоне Normal
. Тогда макрос будет выполняться во всех документах, основанных
на этом шаблоне.

4.  В
поле Описание наберите текст, описывающий назначение макроса, например, Заканчивает
написание любого письма,
и нажмите кнопку [ОК].

Внимание! В результате на экране появится
панель инструментов Остановить запись, состоящая из двух кнопок:
[Остановить запись] — прекращение записи макроса и [Пауза] — временная
приостановка записи макроса. Указатель мыши примет вид магнитной кассеты. С
этого момента действия с использованием мыши не регистрируются (кроме выбора
команд из основного меню и кнопок на панели инструментов). Поэтому, если
требуется выполнить позиционирование курсора или выделение фрагмента текста,
необходимо пользоваться клавишами перемещения курсора.

5.  Начните
запись тела макроса:

• 
выполните команду Вставка ►Дата и время и выберите
формат даты, например, среда, июнь 13, 2007. Для выравнивания даты по правому
краю нажмите кнопку [Поправомукраю] на панели инструментов
Форматирование, а затем нажмите клавишу [Enter];

• 
напечатайте подпись в конце письма. Например, наберите на клавиатуре: 
С дружеским приветом, нажмите клавишу [Enter], затем Хартман &
Ко.
, нажмите два раза клавишу [Enter] и наберите mailto:    
Hartman@mail.ru
, на новых строках mob:   +375 20 254 77 72, tel:  
+375 20 220 72 32
, tel /fax:  

+375 17 220 92 10

• 
Сохраните макрос, выполнив команду Файл ►Сохранить и
указав адрес вашей папки;

• 
Напечатайте сведения о документе, выполнив команду Файл ►Печать
поле Напечатать: Сведения  и нажмите кнопку [ОК].

• 
Для печати письма выполните команду Файл ►Печать;

• 
Закончите запись макроса, нажав кнопку [Остановить запись].

6. Примените макрос к тексту любого письма, созданного на
второй странице документа. В результате на экране получите, например, следующее
письмо:

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

ЗАДАНИЕ
     2.
Создать макрос
МоиПараментры, который настраивает   параметры
         интерфейса          под конкретного пользователя. Макрос вызывать
нажатием комбинации клавиш
[Ctrl
+ R
].

Рекомендации по выполнению

1.  Создайте новый
документ, выполнив команду Файл  ► Создать.

2.  Уберите стандартную
настройку интерфейса Word, создаваемые по умолчанию:

• 
уберите все панели инструментов, выбрав команду Вид
Панели инструментов и сняв все флажки;

• 
скройте линейку с помощью команды Вид Линейка;

• 
измените режим просмотра документа, выбрав команду Вид
Разметка страницы.

3.  Начните запись
макроса, выполнив команду: Сервис Макрос ► Начать запись.

4.  Введите название
макроса в строку ввода Имя макроса, например, МоиПараметры.

5.  Для присвоения
макросу сочетания клавиш в группе Назначить макрос выберите кнопку [клавишам]и назначьте клавиши [Ctrl+R].

6.  Выберите из
списка Макрос доступен для место хранения макроса

Похожие материалы

  • Характеристика microsoft access 2000: тип, платформа, функциональные возможности, справочная система
  • Графические символы, используемые при построении алгоритма процесса в документах СМК
  • Создание документа в текстовом процессоре Word, установив для него параметры страницы

Информация о работе

Уважаемый посетитель!

Чтобы распечатать файл, скачайте его (в формате Word).

Ссылка на скачивание — внизу страницы.


Краткое описание

Макрос на основе шаблонов в формате Word и по заданному списку значений в Excel формирует необходимое количество вордовских документов. Количество формируемых файлов неограниченно и зависит только от числа указанных вами параметров в Excel.

Подробное описание

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

Макрос удобно и быстро создает необходимые документы, исходя из указанных шаблонов и настроенных параметров.

       — Шаблоны задаются в формате Word. Количество одновременно используемых шаблонов неограниченно.
       — Настройки (параметры) для подстановки в шаблоны хранятся в файле эксель. Может быть задано неограниченное количество параметров.

Из дополнительных возможностей макроса:

       — В настройках листа с данными достаточно указать название шаблона и именно данный шаблон будет применен для формирования документов. Если шаблонов указано несколько, то формирование документов будет происходить по нескольким (указанным) шаблонам.
       — В настройках макроса можно указать, по каким строкам формировать документы, а по каким пропускать.
       — Для каждого формируемого документа можно указать необходимое имя (название).
       — Для более удобной вставки наименований шаблонов в ячейку достаточно два раза кликнуть на соответствующей ячейке в столбце «C» и в открывшейся форме выбрать нужные шаблоны.

В целом, ничего сложного в работе с макросом и шаблонами нет.
Перед запуском макроса обязательно ознакомьтесь с примечаниями в пункте «Важно» на листе «const».

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

Обновление макроса от 09.07.2020


В программу добавлена возможность замены значений в колонтитулах. Колонтитулы учитываются как верхние, так и нижние. При необходимости можете ознакомиться с примерами заполнения шаблонов, которые также присутствуют в архиве.
Ссылка на загрузку архива с программой обновлена. Актуальная версия программы: «CreateWord, v.2.xlsb».

Понравилась статья? Поделить с друзьями:
  • Макрос microsoft excel 2010
  • Макрос word слияние документов
  • Макрос excel ячейка ввода
  • Макрос word при открытии файла
  • Макрос excel это просто