3.3. Програмування процедур опрацювання подій.

Процедура являв собою набір операторів мови програмування, оформлених за певними правилами. Вона задає опрацювання даних. Мова VBA має три види процедур : Sub, Function та Property. Відмінності у їх використанні будуть розглянуті далі. При оголошенні процедури також вказується область її дії. Так, службове слово Private вказує на локальний характер процедури – в межах даної форми або модуля. Службове слово Public вказує на глобальний характер процедури, використання якої можливе в межах всього проекту. В цій темі матеріал буде наведений на прикладі використання процедури типу Sub, оголошеної локально. Структура оголошення процедури має такий вигляд:

Private Sub ім.’я_процедури (список параметрів)

 Оператори

End Sub

Другий етап створення програми на VBA якраз і полягає у створенні програмного коду, що в більшості випадків пов’язане з програмуванням процедур опрацювання подій. Саме завдяки таким процедурам програма реагує на дії користувача. Для створення таких процедур потрібно перейти у вікно коду проекту. Це можна зробити за допомогою дворазового клацання на будь-якому об’єкті форми. В кодовій частині вікна автоматично з’явиться шаблон відповідної процедури опрацювання події, який містить її заголовок та закінчення (рис 3.1). Програмісту “залишається “ заповнити вміст цього шаблону.

 

Рис 3.1. Вікно коду проекту

Вікно коду складається із заголовка, поля об’єктів, поля подій (ці поля мають вигляд полів зі списком) та кодової частини (шаблонів процедур опрацювання подій). Для кожного елементу управління за умовчанням відкривається деяка стандартна процедура опрацювання однієї з подій. Як правило, це пов’язано з подією Click. Але оскільки дія користувача з програмою не обмежується одноразовим клацанням лівою кнопкою миші на елементах управління, потрібно створювати й інші процедури, для інший подій. Тому для зручності створення кодової частини і передбачені списки об’єктів та списки подій у вікні коду проекту. Програміст може обрати з цих списків потрібний об’єкт та потрібну подію цього об’єкту (рис 3.2).

 

Рис 3.2. Вибір події для опрацювання

Оскільки вікно коду може містити декілька процедур, то для наочності їх запис відокремлюється горизонтальними лініями.

Створення проекту розглянемо на прикладі.

Завдання 1. Створити проект, що містить кнопку і текстове поле. Натиснення кнопки повинно виводити деяке повідомлення у текстовому полі.

Виконання завдання укладається в таку послідовність кроків.

1) На нову форму нанесемо потрібні об’єкти – в даному випадку це кнопка та текстове поле (рис 3.3).

2) Складемо табл. 3.2, до якої занесемо імена об’єктів та початкові значення властивостей, які визначають опрацювання об’єктів відповідно до сутності завдання.

3) У вікні властивостей об’єктів задамо початкові значення основним властивостям відповідно до табл. 3.2.

4) Запишемо код для процедури опрацювання події Click кнопки.

Адже саме за цією дією користувача програма повинна виконувати завдання. В даному випадку воно полягає у тому, щоб у текстове поле (властивість Text об’єкта) помістити повідомлення. Зробимо це за допомогою оператора присвоювання. Текст процедури має такий вигляд:

Private Sub Key1_Click()

Txt1.Text = “Програма працює!”

End Sub

Таблиця 3.2 Значення властивостей об’єктів для завдання 1.

 

Об’єкт

Властивість

Значення

Кнопка

Name

Key1

Caption

Пуск

Текстове поле

Name

Txt1

 

 

Рис 3.3 Вікно форми завдання 1.

Завдання 2. Модифікуємо попередній проект, додавши ще одну кнопку, призначення якої полягає в очищенні текстового поля. Вид форми, початкові значення властивостей та тексти процедур наведені нижче.

 

Подпись: Рис 3.4 Вікно форми завдання 2.

Таблиця 3.3 Значення властивостей об’єктів для завдання 2.

 

Об’єкт

Властивість

Значення

Кнопка

Name

Key1

Caption

Пуск

Кнопка

Name

Key2

Caption

Очистка

Текстове поле

Name

Txt1

Text

 

Caption

Очистка

Текстове поле

Name

Txt1

Text

 

Код програми:

Private Sub Key1_Click()

Txt1.Text = “Програма працює!”

End Sub

Private Sub Key2_Click()

Txt1.Text = “”

End Sub

Зауваження: Запис початкових значень властивостей у таблиці не обов’язковий, але він покращує наочність та полегшує орієнтацію в об’єктах, адже з таблиці видно зв’язок між властивостями об’єктів.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑