Объект 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 со своим набором событий