Объекты Microsoft Excel

Объектная модель MS Excel и других приложений Microsoft Office устроена следующим образом. На нулевом уровне иерархии существует центральный объект, в который встроены другие объекты, составляющие первый уровень иерархии. В каждый из объектов первого и последующих уровней могут быть встроены объекты следующего уровня. Встраивание реализуется с помощью свойств объектов. Свойства могут быть терминальными, не являющимися объектами, и свойствами, которые возвращают объекты при их вызове.

Объектов в этой иерархии очень много. Учитывая, что у каждого объекта, в свою очередь, большое количество свойств, методов и событий, изучать их достаточно сложно. Поэтому мы рассмотрим только основные объекты. На первых порах достаточно использовать Application (Приложение), Workbook (Рабочую книг}'), Worksheet (Рабочий лист), Range (Диапазон ячеек). Много в этой иерархии и коллекций: Workbooks – это коллекция рабочих книг, Worksheets – коллекция рабочих листов, Sheets – коллекция всех листов (рабочих листов и листов диаграмм), Charts – коллекция диаграмм.

Полное описание свойств, методов и событий каждого объекта можно найти в справочной системе. Для этого в редакторе Visual Basic откройте окно справки, в строке поиска наберите "Application Object Members" (для объекта Application) и перейдите но найденной гиперссылке. Для других объектов вместо Application используйте нужное имя класса.

Объект Application

На вершине объектной модели находится объект Application. Он представляет само приложение Excel. Через этот объект осуществляется доступ ко всем остальным объектам. Однако обычно свойства и методы этого объекта используют, не указывая слово Application. Например, вместо Application. ActiveCell.Value можно написать просто ActiveCell.Value. Основные свойства объекта приведены в табл. 12.21.

Таблица 12.21

Основные свойства объекта Application

Свойство

Описание

Active Workbook,

Active Window,

ActiveSheet,

ActiveChart,

ActiveCell

Активные объекты (рабочая книга, окно, лист, диаграмма, ячейка)

WorkSheetFunction

Представляет собой объект – контейнер, в котором находятся функции Excel. 'Гак, например, мы можем обратиться в программе на VBA к функции Excel ФАКТР, вычисляющей факториал: WorksheetFunction.Fact(5). Имена функций в русскоязычной версии Excel не совпадают со свойствами объекта Worksheet Function. Чтобы узнать имя нужного свойства (имя функции в англоязычной версии), запишите макрос, использующий эту функцию на рабочем листе, и посмотрите имя функции в тексте макроса

Workbooks

Коллекция всех рабочих книг

Selection

Выделенный объект в активном окне. Тип объекта зависит от текущего выделения. Возвращается Nothing, если в активном окне нет выделенного объекта

Метод Quit объекта Application завершает работу Excel. Например, следующий код сохраняет все открытые книги Excel и завершает работу приложения:

For Each wb In Application.Workbooks

wb.Save

Next

Application.Quit

Объект Workbook и коллекция Workbooks

Каждая рабочая книга представляется объектом Workbook, а их коллекция – объектом Workbooks. Методы коллекции Workbooks приведены в табл. 12.22.

Таблица 12.22

Методы коллекции Workbooks

Метод

Описание

Add

Добавляет новую книгу в коллекцию. Возвращает в качестве результата созданную рабочую книгу

Open

Открывает существующую книгу: Workbooks.Open "d:Книга1.хlsх"

Close

Закрывает все книги коллекции

Указанные методы имеют параметры. Подробнее о параметрах можно прочитать в справочной системе. Проще всего это сделать, вызвав контекстную справку: установите курсор в тексте программы на имени интересующего свойства или метода и нажмите клавишу F1.

Основные свойства и методы объекта Workbook приведены в табл. 12.23 и 12.24.

Таблица 12.23

Основные свойства объекта Workbook

Свойство

Описание

Sheets, Charts, Worksheets

Коллекции всех листов рабочей книги, диаграмм, рабочих листов

FullName

Полное имя рабочей книги, заданное в виде строки, включающее путь к файлу, хранящему книгу. Имеет статус "только для чтения"

Saved

Свойство, имеющее значение True, если не делалось никаких изменений с момента последнего сохранения книги

Таблица 12.24

Основные методы объекта Workbook

Метод

Описание

Save, SaveAs

Позволяют сохранить рабочую книгу без ее закрытия и удаления из коллекции Workbooks. При первом сохранении следует применять метод SaveAs, чтобы задать имя файла, в котором книга сохраняется

Close

Закрывает книг)' и удаляет ее из коллекции. Например, так можно закрыть рабочую книгу Bookl, не сохраняя:

Workbooks("Book1.xls”).Close SaveChanges:=False

Activate

Активизирует рабочую книгу