- •Объекты Excel
- •Объектная модель Excel
- •Объект Excel Application
- •Терминальные свойства
- •Методы объекта Application
- •События объекта Excel.Application
- •Создание объекта Application, реагирующего на события
- •Пример обработки события Change
- •Объект Workbook
- •Свойства-участники объекта Workbook
- •Группа свойств, возвращающих основные объекты рабочей книги. К ним я отношу следующие свойства:
- •К третьей группе относятся свойства, возвращающие объекты, специфические для рабочих книг Excel. К ним относятся:
- •Изменения в объектной модели объекта WorkSheet
- •Методы - "незнакомцы"
- •Методы – свойства
- •События объекта Worksheet
- •Объекты Range и Selection
- •Смещение и свойство Offset
- •Методы объекта Range
Объект Workbook
Рабочая книга Excel устроена проще, чем документ Word. Как и положено книге, она состоит из страниц (листов). В терминах объектов это означает, что объект Workbook имеет свойство Sheets, возвращающее объект Sheets — коллекцию листов рабочей книги. Поскольку рабочие книги Excel содержат листы разного типа, то наряду с коллекцией Sheets у объекта Workbook имеются свойства, возвращающие коллекции листов разного типа:
Worksheets — рабочих листов;
Charts — листы, содержащие диаграммы;
Excel4MacroSheets — листы с макросами одной из предыдущих версий Excel. Реально листы такого типа уже не встречаются. Поэтому и в документации они не всегда упоминаются. Я о них также больше говорить не буду. Здесь отдана дань прошлому, когда макросы располагались на листах рабочей книги. Сейчас все макросы находятся в модулях программного проекта.
Эти коллекции и составляют в совокупности коллекцию Sheets. Чаще всего приходится работать с каждой из этих коллекции в отдельности, но иногда полезно иметь возможность выполнять операции над всеми листами, независимо от их типа. С некоторым сожалением отмечу, что отсутствует класс Sheet, обобщающий свойства классов Workbook и Chart.
Теперь, когда состоялось первое знакомство с основными объектами, составляющими рабочую книгу, давайте перейдем к более систематическому обзору всех свойств- участников объекта Workbook.
Свойства-участники объекта Workbook
Свойств, возвращающих объекты, у объекта Workbook относительно немного. Поэтому коротко можно рассказать о каждом. При их описании я разделю их на группы:
Группа свойств, возвращающих основные объекты рабочей книги. К ним я отношу следующие свойства:
Sheets, Charts, WorkSheets, Excel4MacroSheets – все они возвращают объект класса Sheets, но в зависимости от свойства этот объект представляет либо всю коллекцию листов рабочей книги, либо ту ее часть, которая содержит листы типа, заданного именем свойства
ActiveSheet - возвращает объект класса Object, содержащий активный лист рабочей книги. Тип активного листа и определяет тип возвращаемого объекта.
ActiveChart –– возвращает объект класса Chart – это может быть лист-диаграмма, если активный в момент вызова лист принадлежит этому типу, либо диаграмма, встроенная в активный рабочий лист, если и сама диаграмма на этом листе является в свою очередь активной. В противном случае при вызове свойства будет возвращен результат Nothing, свидетельствующий о том, что объект не найден.
Группа свойств, возвращающих общие или схожие объекты. Большинство из объектов этой группы были рассмотрены в [3] - первом томе этой книги. Это самая большая группа свойств объекта Workbook, что говорит о том, что общих черт у объекта Workbook больше чем специфических.
CommandBars – общий объект, возвращающий коллекцию инструментальных панелей приложений Office 2000.
VBProject – общий объект, описывающий программный проект приложений Office 2000. Необходим при программировании «на лету» - программной работе на VBA с программным проектом.
HMLProject – общий объект библиотеки Office, описывающий проект в формате HTML. Этот объект используется при программировании на VBScript.
WebOptions – объект, схожий во всех приложениях Office 2000, позволяющий задавать параметры Web-страниц. Действие большинства параметров распространяются на все приложения Office 2000.
Windows – коллекция окон, связанных с рабочей книгой. Особенностью документа Excel от документов других типов состоит в том, что документ Excel можно одновременно открыть в нескольких окнах, чтобы в каждом из них видеть требуемую часть рабочей книги. Сами же объекты Window схожи во всех приложениях. Эта коллекция является частью более общей коллекции окон, возвращаемой аналогичным свойством объекта Application.
RoutingSlip – объект, схожий для всех приложений Office 2000. Он определяет характеристики передачи рабочей книги по сети участникам, совместно работающим над данным документом. При работе с ним должно быть включено булево терминальное свойство HasRoutingSlip.
Styles – объект, схожий для приложений Office 2000 – определяет коллекцию применяемых для форматирования стилей. Есть набор встроенных стилей, но в коллекцию можно добавлять и собственные стили, задав в момент добавления соответствующие характеристики стиля – шрифт, размер, рамки и т.д. Обычно стили создаются руками, но, возможно и программное создание или изменение того или иного стиля.
BuiltinDocumentProperties, CustomDocumentProperties - оба эти свойства возвращают объект класса DocumentProperties из общей библиотеки Office. Этот класс определяет коллекцию свойств документов Office 2000. Эта коллекция напоминает коллекцию Sheets тем, что ее элементы могут относиться к различным типам. Свойство BuiltinDocumentProperties возвращает ту часть коллекции, которая задает стандартные свойства, заданные самим приложением, CustomDocumentProperties - свойства, определенные пользователем для конкретного документа. Свойства документов, являются схожими для всех приложений Office 2000. С двумя типами свойств работа идет по-разному. Коллекция стандартных свойств определена для каждого типа документа Office 2000, - добавлять или удалять элементы этой коллекции нельзя. В тоже время, коллекция пользовательских свойств изначально пуста и добавление или удаление свойств является основным способом работы с этой коллекцией. Большинство из стандартных свойств автоматически изменяют свои значения в процессе работы с документом, отражая, например, текущие характеристики документа – количество страниц, символов, дату последнего изменения и другие характеристики. Значения других стандартных свойств, также как и всех пользовательских свойств могут быть заданы пользователем или программно.
Mailer – схожий для всех приложений Office 2000 почтовый объект, используемый при работе на компьютерах Макинтош.