Клас CommandButton – створення кнопки VBA
У цій статті ми познайомимося з класом CommandButton VBA мови, який відповідає за створення та налаштування кнопки. У попередній статті я описав компонент Label, тут, у прикладах, я його теж використовуватиму, просто хочу піти за принципом - поступово ускладнюємо код і збільшуємо код.
Скажу чесно, мені набагато цікавіше описувати синтаксис мови, ніж роботу візуальними елементами. Компонент vba - CommandButton має такі основні властивості:
Cancel – дана властивість є актуальною, якщо користувачеві потрібно підтвердити або скасувати вибір. Так якщо ми створимо кнопку з ім'ям Скасувати, і при натисканні на неї має відбутися закриття форми, то якщо встановлено значення true для даної властивості - кнопка буде натискатися автоматично при натисканні на клавішу Esc.
Caption – власне, напис на кнопці
Name – ім'я об'єкта CommandButton vba мови, зазвичай ім'я аналогічне назві класу (CommandButton1, CommandButton2, … , CommandButtonN). Краще встановлювати щось більш зрозуміле, наприклад, bOk, bEsc, bSumm і так далі.
Default - при значенні true, відбудеться автоматичне натискання кнопки при натисканні на клавіатурі клавіші Enter.
Picture – дозволяє вказати шлях до піктограми, яка відображатиметься замість напису на CommandButton.
Enable – визначає активність (true) або неактивність (false) об'єкта для класу CommandButton vba мови.
Visible – як й інших об'єктів, властивість дозволяє приховати (false) чи показати (true) елемент управління.
Accelerator – дозволяє встановити комбінацію клавіш для даного елемента керування. Ви просто прописуєте ім'я клавіші, комбінація здійснюється разом із клавішею Alt.
І так, теперприступимо до практики.
Додаємо компонент:
- Caption - "Робота з кнопками"
- Height - 147.75
- Width – 300.75
Добре, тепер у вікні ToolBox (View/ToolBox) оберіть елемент керування Label і додайте його на форму, встановіть наступні значення:
- Caption - залишаємо порожнім.
- Height – 24
- W >
Тепер нам потрібно додати на форму п'ять кнопок, перші три кнопки повинні розташовуватися відразу під написом одна за одною, визначте для них такі значення:
- Name – Button1, Button2 та Button3
- Caption – Кнопка 1, Кнопка 2 та Кнопка 3
- Height – для всіх 24
- Width – для всіх 72
- Top – для всіх 48
- Left – 18, 108 та 198
Тепер донизу додайте ще дві кнопки, з наступними значеннями:
- Name – ButtonExit та ButtonNoActive
- Caption – Вихід та Неактивна
- Height – для всіх 24
- Width – для всіх 120
- Top – для всіх 90
- Left – 18 та 156
Для кнопки під назвою ButtonNoActive встановіть властивість Enable у false.
Добре, ми підготували форму та всі потрібні нам елементи управління, тепер давайте визначимося з метою:
При натисканні на перші три кнопки класу vba CommandButton, у полі Label повинні відображатися написи виду "натиснена така-то ...", плюс, колір тексту повинен також змінитися. Одна з нижніх кнопок повинна відповідати за вихід, а інша завжди буде неактивною.
Тут просто говоримо, що з запуску макросу має відобразитися форма.
Тут відбувається обробка події Click для ButtonExit, Unload Me відповідає за видалення з пам'яті (закриття) поточного об'єкта (UserForm), простіше кажучи, "Вихід".
Обробка подіїActivate для класу UserForm – як тільки запуститься макрос, у полі Напис з'явиться заданий текст, розміром 20, чорного кольору, він буде розташований по центру.
Останні три процедури відповідають за обробку одинарного кліка за трьома кнопками, що знаходяться відразу під написом. Змінюватиметься текст Написи та його колір. Отже, у цій статті ми розглянули клас CommandButton мови VBA.
Дякую за увагу. Автор блогу Володимир Баталій