VBA в Excel Объект Excel.Application и запуск нового экземпляра Excel из VBA

          Назад



10.2 Объект Application


Объект Excel.Application, запуск нового экземпляра Excel из VBA, события объекта Excel.Application

Как и в Word, объект Application в Microsoft Excel представляет все приложение Excel и находится на самом верхнем уровне объектной модели Excel. Как и в Word, если вам потребуется вызвать Excel из другого приложения, вам потребуется создать объект Excel.Application (не забудьте при этом при помощи меню Tools -> References добавить ссылку на библиотеку Microsoft Excel 11.0 Object Library). Создание этого объекта может выглядеть так:

Dim oExcel As New Excel.Application

oExcel.Workbooks.Add

oExcel.Visible = True

Точно так же, как и в Word, если вы работаете из уже запущенного Excel, создавать объект Application вам не потребуется. Он будет доступен всегда. Если вы обращаетесь к какому-либо свойству без указания вышестоящего объекта, то редактор Visual Basic в Excel будет считать, что вы обращаетесь к свойству объекта Application. Поэтому эти две строки кода в Excel равнозначны:

Application.Workbooks.Add

и

Workbooks.Add

Вообще объекты Application в большинстве приложений Office очень похожи, и к ним применяются те же соображения, что для объекта Word.Application. Точно так же многие разработчики считают, что удобнее и надежнее работать со скрытым окном Excel, точно так же открывать новый экземпляр Excel удобнее, чем разыскивать экземпляр, уже открытый пользователем. Для того, чтобы в окне редактора кода для форм появился объект Application, точно так же необходимо в разделе Declarations кода формы объявить объект Application с ключевым словом WithEvents, например, так:

Public WithEvents App As Excel.Application

В этом случае в окне редактора кода для форм у вас появится новый объект App, и вы сможете использовать событийные процедуры объекта Application (см. рис. 11.1)

Рис. 11.1 В списке объектов появился новый объект App со своим набором событий




Далее