You are on page 1of 29

ТЕМА 7.

ОСНОВИ РОЗРОБКИ
ІНТЕРФЕЙСУ КОРИСТУВАЧА

Заняття 1. Елементи діалогових вікон в мові VBA


ПИТАННЯ ЛЕКЦІЇ:

1.Форми користувача.
2.Події і процедури обробки подій.
3.Елементи управління.
4.Використання Toolbox
Робота з формами та елементами управління

Програмування події
Розробити додаток (на основі Excel), в якому при введенні в
текстові поля вихідних даних і подальшому натисканні
миші по командній кнопці Розрахунок, обчислюється об’єм
піраміди, в основі якої лежить рівносторонній трикутник

Створити функцію користувача, яка обчислює формулу та


побудовати її график.
Полічити кількість повторень у рядку символу

Здійснення заміни у рядку символу

Шифрування

Створити форму, яка імітує найпростішу гру в орла і решку


Розробити програму розв'язку квадратного рівняння, в якій
коефіцієнти при невідомих та вільний член вводиться,
результати обчислення виводяться у вікні повідомлення.
1.Форми користувача
Діалогове вікно у VBA створюється додаванням у проект об'єкта UserForm.
Об'єкт UserForm – це порожнє діалогове вікно.
Настроювання діалогового вікна можна виконати додаванням до об'єкта UserForm
елементів упрвління.

Кожен об'єкт UserForm має певні властивості, методи й події, які він успадковує від
класу об'єктів UserForm. Кожен об'єкт UserForm містить у собі також модуль класу, в
який можна додавати власні методи й властивості або код обробки подій форми.
Для додавання до проекту нової форми використовується команда VBA-редактора
Insert /UserForm
Редактор VBA додає до поточного проекту нову форму, привласнюючи їй за
замовчуванням ім'я UserForm і використовуючи ту ж систему нумерації, що й для
модулів. Редактор VBA виводить нову форму в режимі розробки
Поверхня форми має сітку із крапок.
Сітка із крапок допомагає вирівнювати й
контролювати розміри елементів
управління, що розташовують на формі,
вона з'являється тільки в режимі розробки.
Панель елементів є „палітрою”, за
допомогою якої можна вибирати елементи
управління й додавати їх на форму.
ВЛАСТИВОСТІ ОБ’ЄКТА
USERFORM
Форма як об'єкт має деякі вбудовані властивості, але можна самостійно
встановлювати ці властивості. Також для цього можна використовувати Properties
Window (вікні властивостей) редактора VBA.
Властивість Опис
BackColor Ціле типу Long визначає кольори фона форми. Найпростіший спосіб
встановити цю властивість – використати Properties Window
Caption Текст, виведений як заголовок форми. Запис/Читання
Enabled Містить значення типу Boolean, що вказує, чи доступна форма. Якщо його
значення дорівнює False, жоден з елементів управління форми не доступний.
Читання/Запис
Font Повертає посилання на об'єкт Font, за допомогою якого можна вибрати
параметри шрифту форми або елементу управління
ForeColor Те ж саме, що й властивість BackColor, але встановлює кольори, які
використовують для переднього плану (кольори тексту) об'єкта форми
МЕТОДИ ОБ’ЄКТА USERFORM
При створенні в проекті нового об'єкта UserForm, з’являється новий підклас об'єкта
UserForm. Будь-які процедури або функції, написані в розділі General (загальний) модуля
класу, що відносяться до форми, стають додатковими методами для окремого підкласу
об'єкта.
Метод Призначення
Сopy Копіює виділений в елементі управління текст у буфер обміну Windows
Cut Видаляє виділений в елементі управління текст і розміщує його в буфер обміну Windows
Hide Приховує UserForm, не вивантажуючи її з пам'яті, зберігаючи значення елементів
управління форми й всіх змінних, оголошених у модулі класу форми
Paste Вставляє вміст буфера обміну Windows у поточний елемент управління
PrintForm Виводить на використовуваний в Windows за замовчуванням принтер зображення форми,
включаючи всі дані, введені в елементи управління
Repaint Перемальовує форму, виведену на екран
Show Виводить форму на екран. Якщо вона не завантажена, то VBA спочатку її завантажує
2.Події і процедури обробки подій
Подія (event) – це щось, що може відбутися з діалоговим вікном або
елементом управління діалогового вікна. Наприклад: натискання на
кнопку, перемикач, зміна вмісту вікна редагування або вибір елемента
списку.

Використання подій дозволяє створювати діалогові додатки. У таких


додатках всі дії користувача приводять до певної реакції додатка, якщо ці
дії передбачені й не заблоковані.

Такі об'єкти, як форми й елементи управління, пускають у хід, тобто


роблять доступними деякі події. Ви можете написати власні VBA-
процедури, що реагують на події. Такі процедури, називаються
подійними процедурами (event procedures) або процедурами обробки
подій.
Подійні процедури варто записувати в модуль класу, що є частиною
UserForm.
При цьому такі процедури повинні мати імена у вигляді
ObjectName_EventName, де ObjectName – ім’я форми або елемента
управління, a EventName – ім’я події, з яким можна працювати. Такий
формат імені, дозволяє VBA співставляти задану подію з необхідною
процедурою.

Більша частина програми, що записується в модуль класу форми, буде


пов'язана з обробкою подій.
ПОДІЇ ОБ'ЄКТІВ USERFORM
Подія Опис
Activate Ініціюється щоразу, коли вікно форми стає активним. Використовується для
відновлення вмісту діалогових елементів управління, щоб відобразити будь-які зміни,
які відбулися, поки вікно форми було неактивним
Click Ініціюється щоразу, коли на форму (або будь-яку її частину, не зайняту елементами
управління) клацають мишею
DblClick Ініціюється щоразу, коли на форму (або будь-яку її частину, не зайняту елементами
управління) двічі клацають мишею
Deactivate Ініціюється щоразу, коли форма перестає бути активною
Initialize Ініціюється щоразу, коли форма вперше завантажується у пам’ять за допомогою
виконання оператора Load або за допомогою методу Show. Використовується для
ініціалізації елементів управління форми, як тільки вона з'явиться на екрані
Resize Ініціюється при зміні розмірів форми
Terminate Ініціюється щоразу, коли форма вивантажується з пам'яті. Використовується для
здійснення будь-яких спеціальних службових завдань, які необхідно виконати перш, ніж
змінні форми будуть вивантажені
На додаток до методів, властивостей і подій, вбудованих в об'єкт UserForm, VBA
надає два оператори, які особливо корисні при роботі з об’єктами форм: Load й
Unload, які можна використати для того, щоб або завантажити форму у пам’ять або ж
видалити її звідти.
Синтаксис Load/Unload:
Load Object
Unload Object
Тут Object представляє будь-яке припустиме посилання на об'єкт UserForm.

Оператор Load завантажує у пам’ять об'єкт UserForm і запускає метод форми


Initialize, але не виводить форму на екран. Коли форма завантажена, ви можете
використати написану на VBA програму для роботи з об'єктом UserForm. Оператор
Unload видаляє з пам'яті UserForm, а також всі змінні форми. Після того як форма
вивантажена, вона перестає бути доступної для VBA-коду.
3. Елементи управління
Об'єкт UserForm може містити ті ж самі елементи управління, що у діалогових вікнах
Word, Excel або інших додатках Windows.
Елементи управління (controls) – це елементи діалогового вікна, які дають
можливість користувачеві взаємодіяти із програмою. Вони містять у собі кнопки-
перемикачі, текстові поля, лінійки прокручування, командні кнопки тощо.
Кожен елемент управління – це об'єкт із певними властивостями, методами й подіями.
Як і для форми, що їх утримує, можна встановлювати властивості елементів
управління програмним шляхом або за допомогою Properties Window редактора
VBA. У програмі можна привласнювати або відновлювати значення властивостей
елементів управління так само, як для будь-яких інших об'єктів.
Елемент
Призначення
управління
Label Дозволяє створювати заголовки елементів управління, які не мають власних
(напис, мітка) вбудованих заголовків. Використовується цей елемент для того, щоб розмістити
на формі статичний текст (інструкції, рекомендації по заповненню інших
діалогових елементів управління)

TextBox (текстове Вікно тексту вільної форми, що редагує


поле) введені дані

ComboBox (поле зі Поєднує вікно редагування й вікно списку. Використовується, коли треба
списком) запропонувати користувачеві вибрати значення, але при цьому дати йому
можливість ввести дані, відсутні в списку
Продовження таблиці
Елемент
Призначення
управління
ListBox (список) Відображає список значень, з яких користувач може зробити вибір. Вікна
списку можна використати для того, щоб вибрати тільки одне значення або
декілька
CheckBox Стандартний прапорець (квадратне вікно, що містить,
(прапорець) якщо елемент обраний, „галочку”). Використовується
для вибору варіантів, які не є взаємовиключними

OptionButton Стандартна кнопка-перемикач (кругле вікно, при виборі в центрі його


(перемикач) перебуває чорна крапка). Використовується OptionButton, коли необхідно
зробити вибір між „включено/ виключено”, „істина/неправда”.

ToggleButton Вимикачі служать для тієї ж мети, що й прапорці, але виводять установки у
(вимикач) вигляді кнопки, яка перебуває в „натиснутому” або „віджатому” стані
Продовження таблиці
Елемент
Призначення
управління
Frame (рамка) Візуально й логічно поєднує деякі елементи управління
(особливо прапорці, перемикачі й вимикачі).
Використовується Frame, щоб показати, які елементи
управління в діалоговому вікні зв'язані між собою, або
щоб виділити групу елементів управління, що
перебувають у діалоговому вікні

CommandButton Використовуються кнопки для виконання таких дій, як Cancel (Скасування),


(кнопка) Save (Зберегти), ОК і так далі.
TabStrip Цей елемент управління складається з області, у яку додають інші елементи
(набір вкладок) управління (такі як текстові поля, прапорці тощо) і смуги кнопок табуляції.
Використовується елемент TabStrip для створення діалогових вкладок, що
відображають ті самі дані в різних категоріях
MultiPage (набір Цей елемент управління складається з декількох сторінок. Можна вибрати
сторінок) кожну з них, клацнувши по відповідній вкладці. Використовується для
створення діалогових вікон із вкладками
Продовження таблиці
Елемент
Призначення
управління
ScrollBar Використовується для вибору лінійного значення,
(смуга аналогічно тому, як це можна зробити за допомогою
лічильника
прокручування)
SpinButton Елемент управління SpinButton є різновидом
(лічильник) текстового поля. Використовується для того, щоб
ввести число, дату або будь-які інші послідовні
величини з деякого інтервалу значень.

Image (малюнок) Елемент управління Image дозволяє вивести на формі графічне зображення.
Можна обрізати й масштабувати графічне зображення, але тільки не
редагувати графічне зображення. Можна навіть написати спеціальну VBA-
процедуру, що виконується, якщо користувач клацне по елементу управління
Image
Основні події елементів управління, для яких можна писати власні процедури
обробки подій
Подія Опис
Click Ініціюється щоразу, коли по елементу управління клацають мишею.
Використовується дана подія для того, щоб виконати дію за допомогою кнопки
DblClick Ініціюється щоразу, коли по елементу управління двічі клацають мишею.
Використовується дана подія для введення додаткових форм
Enter Ініціюється щоразу, коли виділяється елемент управління
Exit Ініціюється щоразу, коли з елемента управління знімається виділення
MouseDown, Ініціюються при клацанні мишею.
MouseUp MouseDown: коли користувач натискає на клавішу миші;
MouseUp: коли користувач відпускає клавішу миші
MouseMove Ініціюється, коли користувач переміщає мишу
 
4. Використання Toolbox (панелі елементів)
Редактор VBA у режимі розробки разом з формою виводить на екран панель елементів
Toolbox.

1 – Select Objects (вибір об'єктів); 8 – ToggleButton (вимикач); 15 – Image (малюнок);


2 – Label (напис); 9 – Frame (рамка); 16 – RefEdit (виділення діапазону
3 – TextBox (поле); 10 – CommandButton (кнопка); комірок)
4 – ComboBox (поле зі 11 – TabStnp (набір вкладок);
списком); 12 – MultiPage (набір сторінок);
5 – ListBox (список); 13 – ScrollBar (смуга
6 – CheckBox (прапорець); прокручування);
7 – OptionButton (перемикач); 14 – SpmButton (лічильник);
Можна додати на форму елементи управління з використанням різних інструментів
панелі Toolbox.

Для цього можна виконати наступні дії:


1. Клацнути на Toolbox по кнопці, що відповідає елементу управління, який
додається на форму. Покажчик миші змінить форму на перехрестя, коли буде
перебувати на формі.
2. Встановити перехрестя в те місце форми, в якому необхідно помістити верхній
лівий кут нового елемента управління.
3. Натиснути й утримувати ліву кнопку миші. Переміщувати мишу вниз і вправо,
поки елемент управління не прийме потрібний розмір, після чого можна відпустити
кнопку миші. Редактор VBA вставить на форму елемент управління, і покажчик
миші знову прийме форму стрілки.
Всі елементи управління форми повинні мати унікальні імена. Ці імена варто
використати при посиланнях на елемент управління у своїй програмі. Щоразу, коли
додається на форму новий елемент управління, VBA привласнює йому ім’я за
замовчуванням, що складається з імені типу елемента й номера. VBA забезпечує
унікальність імені включенням в ім’я елемента управління числа.
Якщо запустити форму на виконання (командою Run /Run Sub/ UserForm), то ні
клацання по кнопці, ні натискання клавіші Esc не приведуть ні до якого результату,
тому що із кнопкою не зв'язано ніякої події. Але діалогове вікно з’явиться на екрані в
режимі виконання

Щоб кнопки, розташовані на діалоговій панелі, „ожили”,


необхідно для кожної з них написати процедури обробки
подій Click:
Private Sub CommandButton2_Click()
Unload Me 'Вивантажуємо форму, закінчуючи додаток
End Sub
Потім знову запустити форму на виконання
ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ
 
1. Вивчити матеріал лекції
2. Тема і навчальні питання самостійного заняття:
Заняття № 2. Елементи діалогових вікон.
1.Властивості об’єкту UserForm.
2.Методи об’єкту UserForm.

Література:
Прикладне програмне забезпечення у військовій справі: навчальний посібник /
Ю.В. Шабатура, С.М. Філімонов, Г.В. Лунькова, Я.І. Соколовський. – Львів: НАСВ,
2016. – сторінки 63-81

You might also like