Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка СППО.DOC
Скачиваний:
5
Добавлен:
15.07.2019
Размер:
12.41 Mб
Скачать

Процедуры обработки событий и надстройки

Цель работы: приобретение навыков запуска процедуры при открытии, закрытии и сохранении книги; создания и пользования надстройками для приложения Excel.

1 Теоретические сведения

Программа, управляющая событиями, – это такая программа, которая крутится в бесконечном цикле, ожидая и реагируя на некоторые события, в отличие от программ, которые просто выполняют линейную последовательность команд. Событием может быть нажатие клавиши на клавиатуре или щелчок кнопки мыши, выбор активного листа, открытие или закрытие книги. Поскольку поведение программы определяется конкретными событиями, которые возникают во время работы программы, то о таких программах говорят, что они управляются этими событиями. При наступлении события программа запускает одну или несколько процедур, связанных с этим событием. Такие процедуры называются обработчиками события, или процедурами обработки событий.

Хотя в приложении Excel содержатся сотни объектов, лишь некоторые из них создают события, которые вы можете обрабатывать своими процедурами. Вот все эти объекты приложения Excel: Application, Workbook, Worksheet и Chart.

1.1 Где хранятся процедуры обработки событий

Процедуры обработки событий хранятся не в стандартном модуле, а в модуле класса объекта. Такие объекты приложения Excel, как Workbook, Worksheet и Chart, содержат модули класса, в которых можно хранить процедуры обработки событий соответствующего объекта.

Исключением из правила, определяющего, где и как хранить процедуры обработки событий, является объект Application. Этот объект не имеет модуля класса, в котором бы хранились его процедуры обработки событий. Поэтому процедуры объекта Application хранятся в модуле класса, создаваемом пользователем.

Для того, чтобы отобразить или создать процедуру обработки события для объекта, отличного от Application, сделайте следующее:

1) в окне редактора Visual Basic отобразите окно Проект, если оно еще не отображено;

2) в окне Проект щелкните на объекте, для которого вы собираетесь создать (или модифицировать) процедуру обработки события;

3) в окне Проект щелкните на кнопке Программа, чтобы отобразить в окне Программа модуль класса выбранного объекта;

4) в списке Объект окна Программа выберите сам объект, т.е. если вы выбрали объект Worksheet (Лист1) в окне Проект, то вы должны выбрать элемент Worksheet в списке Объект;

5) выберите в списке Процедуры процедуру обработки событий, которую хотите создать или модифицировать. Список Процедуры будет содержать только те элементы, которые связаны с событиями, вызываемыми объектом, модуль класса которого вы открыли.

1.2 Имя и описание процедуры обработки событий

Связь конкретной процедуры в модуле класса объекта с определенным событием устанавливается с помощью средств языка VBA на основе имени процедуры.

Процедуры обработки событий должны использовать следующий синтаксис объявления:

Private Sub Object_EventName(Arguments)

Процедуры обработки событий в модуле класса объекта должны быть объявлены закрытыми, т.е. с использованием ключевого слова Private. В этом синтаксисе элемент Object представляет имя типа объекта, которому принадлежит процедура обработки событий, например, App (для объекта Application) или Workbook. Элемент EventName представляет имя обрабатываемого события, например, BeforeSave, BeforeDoubleClick и т.д. Элемент Arguments представляет список аргументов процедуры обработки события.