Событие это действие, распознаваемое объектом (щелчок мышью, двойной щелчок, нажатие клавиши).
Суть программирования в VBA состоит в двух понятиях – событии и отклике на него. Если пользователь производит воздействие на систему (нажатие кнопки), что является событием, то средствами VBA можно запрограммировать отклик – ответное действие.
Приведем некоторые свойства, методы и события основных объектов.
Свойство | Метод | Событие |
Объект Application | ||
Caption (заголовок объекта) | Quit (выход из Excel | NewWorkBook (создание новой рабочей книги) |
AutoREcover (автосохранение) | Save (сохранение) | SheetActivate (переход на рабочий лист) |
ReferenceStyle (стиль ссылок) | Run (выполнение макроса) | WorkBookOpen(открытие рабочей книги) |
MemoryFree(информация о свободной оперативной памяти) | Volatile (перевычисление при изменении в ячейках рабочего листа) | WorkBookBeforeClose(закрытие рабочей книги) |
MemoryTotal(информация об общей оперативной памяти) | Calculate (вычисление во всех открытых книгах) | SheetBeforeDubleClick (двойной щелчок) |
MemoryUsed(информация о занятой оперативной памяти) | IpputBox (ввод данных) | SheetBeforeRightClick (щелчок правой кнопкой) |
CellDragAndDrop (управление перетаскиванием формул в ячейках) | Msgbox (вывод сообщений) | |
ActiveCell, ActiveSheet (активная ячейка, лист) | ||
Cells (диапазон ячеек) | ||
DisplayFormulaBar (отображение строки формул) | ||
DisplayScrollBar(отображение полос прокрутки) | ||
DisplayStatusBar(отображение строки состояния) | ||
Свойства метода Application позволяют программно установить значения многих опций окна Сервис/Параметры. Например, с помощью показанных ниже процедур можно изменить стандартный вид окна Excel, изменить заголовок, отключить действие перетаскивания формул.
|
|
Данные процедуры записываются в модуле «Эта книга» и выполняются при открытии и закрытии рабочей книги, то есть при выполнении событий Open и BeforeClose:
Private Sub workbook_open()
' Заголовок рабочей книги
Application.Caption = "Киса и Ося были здесь"
' Цвет фона диапазона A1:D1 -Красный
Sheets("Содержание").Range("a1:d1").Interior.Color = RGB(255, 0, 0)
'Границы диапазона A1:D1 - пунктир
Sheets("Содержание").Range("a1:d1").Borders.LineStyle = 3
'отменяется перетаскивание ячеек CellDragAndDrops
Application.CellDragAndDrop = Falsе
‘ убирается строка формул
Application.DisplayFormulaBar = False
‘убираются полосы прокрутки
Application.DisplayScrollBars = False
“устанавливается стиль ссылок R1C1
Application.ReferenceStyle = xlR1C1
End Sub
'Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Восстанавливается перетаскивание ячеек CellDragAndDrops
Application.CellDragAndDrop = True
‘Восстанавливается строка формул
Application.DisplayFormulaBar = True
‘Восстанавливаются полосы прокрутки
|
|
Application.DisplayScrollBars = True
‘Восстанавливается стиль ссылок А1
Application.ReferenceStyle = xlA1
'End Sub