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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 комментариев для “VBA Excel. Создание и открытие документов Word”

  1. При попытке создания документа возникает ошибка user-defined type not defined в чем может быть проблема

    1. Евгений

      Проверьте, подключена ли у вас библиотека объектов Word (Microsoft Word Object Library). Из главного меню: Tools >> References…

      Ссылка на Microsoft Word Object Library в окне References

      1. Да спасибо, все заработало. А также хотел узнать у меня почему — то нет метода saveas а есть saveas2

        1. Евгений

          Так и должно быть. В Excel – метод Workbook.SaveAs, в Word – метод Document.SaveAs2. Хотя Document.SaveAs тоже работает, правильнее будет использовать Document.SaveAs2. В статье тоже поправил, чтобы не было таких неувязок.

      2. Дмитрий

        Подскажите, пожалуйста, я подключил библиотеку Microsoft Word 12.0 (у меня MS Excel 2007)
        Но при запуске процедуры выходит сообщение об ошибке:
        Run-time error ‘429’:
        ActiveX component can’t create object
        Как это можно исправить?

        1. Дмитрий

          Вопрос снят, я свою задачу сейчас решил вот таким способом:

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

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