Перейти к содержимому

VBA Excel. Создание и открытие документов Word

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

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

  1. Создание нового документа Word
  2. Открытие существующего документа
  3. Сохранение и закрытие документа

Создание нового документа Word

Новый документ 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" на адрес своего файла.

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

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

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

myDocument.SaveAs ("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

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

myDocument.Close

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

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

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег [vb] и по окончании кода - [/vb].