5.4
Основные объекты приложения MS Excel
Объектная модель Microsoft Excel насчитывает множество объектов. В рамках настоящего пособия не ставится цель изучить все из них. Для разработки большинства программ достаточно знать основные из них, такие как Application, Workbook(s), Worksheet(s), Range, Chart.
Различают объекты и их семейства. Семейство (объект Collection) представляет собой объект,
содержащий в себе несколько других объектов одного типа. Все объекты Excel и их семейства имеют
родовые иерархические отношения.
Иерархия основных объектов MS Excel приведена на рисунке 5.12.
Главным в иерархии объектов Excel является объект Application (Приложение), которое представляет само приложение Excel. Этот объект имеет более 120 свойств и 40 методов, которые предназначены для установки параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа при помощи конструкции вида:
Application.ФункцияРабочегоЛиста(Аргументы)
Например:
Application.Pi() ‘Вычисление числа Пи.
Application.Sum(Аргументы)
Подчиненными объектами в иерархии объектов являются: объекты семейств
WorkBooks (рабочие книги), Worksheets (рабочие листы), Range (Диапазон).
Рис. 5.12. Иерархия встроенных объектов MS Excel
Как было отмечено в п.п. I.3, существует следующий формат программного кода, задающего установку свойства и использование метода объекта:
Объект. Свойство = ЗначениеСвойства
Объект. Метод [Параметр1 […]]
Если Х является свойством — участником объекта Application, то обращение к этому свойству возвращает ссылку на объект X. Обращение Application.X.Y.Z, где X, Y и Z - свойства-участники, позволяет добраться до объекта Z, находящегося на третьем уровне вложенности. Обычно цепочка именования начинается спецификатором (объектом) Application, но иногда его можно опустить. Некоторые свойства и методы объекта Apiplication относятся к глобальным. Для них спецификатор Application разрешается опускать, непосредственно именуя глобальный элемент. Вот пример нескольких обращений к элементам объекта Application: Application. ActiveDocument
Можно короче:
ActiveDocument
Можно указать и полный путь: Application. ActiveSheet
5.5 Объект Application, основные свойства, методы и события
Свойства объекта Application
Свойства
|
Описание и
допустимые значения
| |||
ActiveWorkbook, ActiveSheet, ActiveCell, ActiveChart |
Возвращают активный объект: рабочую книгу, лист, ячейку, диаграмму. Свойство ActiveCell содержится в ActiveSheet, а свойства ActiveSheet и ActiveChart в ActiveWorkbook. Например,: ActiveCell.Value = "Новое значение" присваивает значение активной ячейке. | |||
ThisWorkbook |
Возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. |
| ||
Calculation |
Устанавливает режим вычислений. Возможные значения: xlCalculationAutomatic (автоматический режим), xlCalculationManual (вручную). |
| ||
Caption |
Возвращает текст в строке имени активного окна. | |||
DisplayFormulaBar |
True (False)–строка формул выводится (не выводится) на экран | |||
DisplayScrolBars |
True (False)- полосы прокрутки видны (не видны) в окне Excel | |||
ScreenUpdating |
Если равно True, то изображение на экране обновляется во время выполнения программы, если False – то нет. |
| ||
DisplayStatusBar |
True (False)- строка состояний видна (не видна) в окне Excel | |||
Основные методы объекта Application
Методы
|
Действия
| |
Calculate |
Вызывает принудительные вычисления во всех открытых рабочих книгах |
|
Run |
Запускает на выполнение подпрограмму или макрос: Run (ИмяМакроса, Аргументы) | |
Volatile |
Вызывает перевычисление функции пользователя при изменении значений параметров. Оператор Application.Volatile нужно поместить в теле функции. | |
Wait |
Временно приостанавливает работу приложения: Wait (Time) | |
OnTime |
Назначает выполнение процедуры на определенное время: OnTime(ВремяЗапуска, ИмяПоцедуры, …) | |
Quit |
Закрывает приложение |
События объекта Application
Событие
|
Когда
происходит
|
NewWorkBook |
При создании новой рабочей книги |
WorkbookActivate |
При активизации рабочей книги |
WorkbookBeforeClose |
Перед закрытием рабочей книги |
WorkbookBeforeSave |
Перед сохранением рабочей книги |
WorkbookDeactivate |
Когда рабочая книга теряет фокус |
WorkbookNewSheet |
При добавлении нового листа в рабочую книгу |
WorkbookOpen |
При открытии рабочей книги |
5.6
Основные свойства, методы и события семейства WorkBooks
Объект Workbook – это файл рабочей книги. Получить объект Workbook можно используя свойства Workbooks, ActiveWorkbook или ThisWorkbook объекта Application.
Основные свойства объектов семейства Workbooks
Свойства
|
Описание и допустимые
значения
| |
ActiveSheet |
Возвращает активный лист книги | |
ActiveChart |
Возвращает активную диаграмму | |
Count |
Возвращает количество объектов семейства | |
WriteReserved |
True (False) – документ закрыт (открыт) для записи. | |
Sheets, Worksheets, Charts |
Возвращают семейства всех рабочих листов книги и всех диаграмм соответственно. |
|
Основные
методы объектов семейства Workbooks
Методы
|
Действия
|
Activate |
Активизирует рабочую книгу (первый лист становится активным). |
Add |
Создает новую рабочую книгу. |
Close, Open, OpenText |
Закрытие (открытие) рабочей книги, открытие текстового файла с
таблицей данных. Например, рабочая книга закрывается без сохранения:
Workbooks("Book1.xls").Close SaveChanges:= False
Открытие рабочей книги: Workbooks.Open "Book1.xls"
|
Save, SaveAs |
Сохранение рабочей книги (сохранение в другом файле). Например, запросить у пользователя имя файла и сохранить активную рабочую книгу можно кодом программы: fName= Application.GetSaveAsFilename
ActiveWorkbook.SaveAs
Filename:=fName
|
События объектов семейства Workbooks
Событие
|
Когда
происходит.
|
BeforeClose |
Перед закрытием рабочей книги. |
BeforeSave |
Перед сохранением рабочей книги. |
Deactivate |
Когда рабочая книга теряет фокус. |
NewSheet |
При добавлении нового листа в рабочую книгу. |
Open |
При открытии рабочей книги. |
SheetActivate |
При активизации рабочего листа. |
SheetDeactivate |
Когда рабочий лист теряет фокус. |
Упражнение 4.
Свойства и методы объектов Application,
Workbooks.
Задание:
1. На рабочем листе с именем Лист1 поместите кнопку формы.
2. Назначьте для этой кнопки макрос с именем Кнопка1_Щелкнуть.
3.
В окне редактирования кода редактора Visual Basic запишите следующий
программный код:
Sub
Кнопка1_Щелкнуть()
'
Изменение надписи в строке заголовка
приложения
Application.Caption = "Упражнение
№4 - Свойства, методы и _
события"
MsgBox
"Обратите внимание! Изменилась надпись в строке _
заголовка приложения",
vbInformation
'Убираем строку
формул
Application.DisplayFormulaBar =
False
MsgBox
"Обратите внимание! Строка формул не отображается"
_
,
vbInformation
'Убираем панель
состояний
Application.DisplayStatusBar =
False
MsgBox "Обратите внимание! Панель
состояний не _
отображается" ,
vbInformation
Application.DisplayStatusBar =
True
MsgBox
"Обратите внимание! Панель состояний вновь _
отображается" ,
vbInformation
'Изменение размера окна
приложения
Application.WindowState =
xlNormal
MsgBox "Обратите внимание! Размер
окна приложения _
стал нормальным",
vbInformation
Application.WindowState =
xlMinimized
MsgBox "Обратите внимание! Размер окна
приложения _
стал
минимальным" , vbInformation
Application.WindowState =
xlMaximized
MsgBox "Обратите внимание! Размер
окна приложения _
стал
вновь максимальным", vbInformation
'Создание новой рабочей
книги
'Workbooks.Add
MsgBox "Обратите внимание! Создана
новая рабочая книга" _
,
vbInformation
'Активизация созданной рабочей
книги
Workbooks("Книга2").Activate
End
Sub
4. Прочитайте все команды программы и попытайтесь понять их назначение и синтаксис записи. Обратите внимание на текст комментариев.
5. Запустите макрос на выполнение.
6. Проследите за тем, какие действия выполняет программа.
7. Сопоставьте команды программы и выполняемые ей действия
8. Изучите правила записи операторов кода.