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

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

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

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

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

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

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

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

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

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

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

    Если открытого приложения Word нет, выполнение функции GetObject приведет к ошибке. Также произойдет ошибка, если не будет найден указанный документ (в примере — «Документ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. Дмитрий

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

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

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