Програмування методів та подій форми



Тепер треба оживити форму, щоб відбувалися потрібні події, а саме, спочатку та після натиснення на кнопку Відмінити всі поля форми повинні бути порожні, перемикач встановлено у верхнє положення (Куплю), всі прапорці зняті, а в лічильнику встановлено значення 1. Крім того, поле введення Заголовок потрібне тільки при встановленні перемикача у положення Інше, то доцільно зробити його і напис Label4 невидимими, а з командних кнопок активними (доступними користувачу)  тільки кнопки Відмінити та Вихід, щоб випадкове клацання на кнопці Готово, коли дані у форму ще не введені або введені не повністю, не викликало запис даних непридатних для подальшого опрацювання.

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

Тільки після цього стає активною кнопка Готово, клацання на якій забезпечує запис введеної інформації.

Завдання 6.У вікні редактора VBA вибрати команду View=>Tab Order і у діалоговому вікні Tab Order (Послідовність переходу) переставити (за допомогою кнопок Move Up (Вгору) або Move Down (Вниз) елементи у списку відповідно до визначеної послідовності (рис.6).

Рис.6. Встановлення порядку обходу

Після цього виділити на формі рамку Frame1 та повторити цю ж операцію для розміщених в ній елементів управління — порядок має бути таким: Кат1, Кат2, КатЗ, Заголовок, Label4.

Потім виділити рамку Frame2 та встановити для розміщених в ній елементів наступний порядок обходу: День1, День2, ДеньЗ,

Тепер можна починати програмування методів та подій форми.

Завдання 7.Для переведення форми у початковий стан двічі клацнути у вільному місці на формі – на екрані розкриється вікно коду. Вибрати у лівому списку елемент UserForm, а в правому — подію Activate. Помістити в заготовку процедури такий програмний текст:

Завдання 8.Такий вигляд форма повинна приймати і після клацання по кнопці Відмінити. Тому всі оператори створеної процедури скопіювати та вставити у вікні коду процедури Click для елемента управління Відмінити. Для перевірки роботи цієї підпрограми просто натиснути клавішу <F5> і на екрані розкриється вікно форми. Ввести в поля довільний текст, встановити перемикач в інше положення, вибрати один або кілька прапорців опцій і клацнути на кнопці Відмінити. Форма повинна повернутися в початковий стан. Для закривання форми та повернення у вікно редактора VBA клацнути на кнопці (X) у рядку заголовка.

Завдання 9.Перемикачі Категорія знаходяться в одній рамці, тому вмикається тільки один з них. А ось поле Заголовок в початковому стані форми не відображається і тільки при встановленні перемикача в положення Інше необхідно передбачити його відображення. Для цього треба відкрити вікно коду кнопки Кат3, вибрати подію Change і помістити в процедуру вказівки для зміни значення властивості Visible з False на True:

Або використати інший варіант даної процедури:

Завдання 10.Прапорці не вимагають додаткового програмування, а от поле Тижні має обмеження і може змінюватися від 1 до 5 при клацанні по кнопках лічильника. Для цього у вікні коду лічильника SpinBtl вибрати подію Change та помістити в процедуру наступний код:

Завдання 11.Для кнопки Вихід помістити процедуру:

Завдання 12.Кнопка Готово повинна стати активною після введення інформації в текстові поля та встановлення необхідних прапорців. Все це передбачено в процедурі Click кнопки Готово:

Завдання 13.Після збереження введеної інформації форма повинна набути початкового вигляду, тобто знову вже втретє треба виконати вказівки процедури UserForm.Activate. Щоб не виконувати тричі одні і ті ж дії, їх записують на початку модуля в окремій процедурі Private Sub Відновлення_Форми, а потім викликають одним оператором (Відновлення_Форми), наприклад останній оператор процедури
Private Sub Готово_Click.

Для виклику створеної форми використати коротку програму, яку помістити в окремий модуль та призначити для її виконання кнопку на панелі швидкого запуску:

 

Завдання 14.Якщо форму створюють у середовищі MS Excel, то можна додати поле (RefEdit) з іменем Посилання для введення посилання на клітинку, в яку буде виведено текст оголошення (рис.7) з відповідним написом (Label6).

Завдання 15.В процедурі Private Sub Готово_Click() дописати оператор виведення оголошення у визначену клітинку аркуша у такій послідовності:

- Категорія оголошення

- Текст оголошення

- Замовник, телефон

- Кількість тижнів та дні виходу оголошення

Рис. 7. Форма з полем для введення посилання на клітинку

Завдання 16.Використовуючи створену форму, ввести дані для трьох оголошень різних категорій та вивести їх на аркуш Лист1 (перейменувати в Оголошення).

Контрольні запитання

1. Які основні об’єкти VB?

2. Які типи модулів розрізняють у VB ?

3. Що таке властивість об’єкта?

4. Що таке метод об’єкта?

5. Що таке форма користувача та для чого вона призначена?

6. Які основні властивості форми?

7. Які основні події форми? Коли вони відбуваються?

8. Які основні події мишки? Коли вони відбуваються?

9. Які різновиди елементів управління додатком існують у VB?

10. Яку структуру має процедура?

11. Що таке функція користувача і як вона визначається?

12. З якою метою використовують у формах поля введення?

13. Яку роль відіграють написи?

14. Яка властивість задає значення напису?

15. Яка властивість задає значення поля?

16. Як звернутись у коді процедури до певної властивості елемента управління?

Тестові завдання

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

1. Для розміщення елемента управління у формі слід виконати наступне:

а) скопіювати вибраний об’єкт у вікні редактора VBА в буфер обміну, а потім вставити його у форму;

б) виділити елемент управління на панелі інструментів і перетягнути його у потрібне місце у формі;

в) виділити елемент управління на панелі інструментів, а потім помістити покажчик миші у потрібне місце у формі і натиснути клавішу <Insert>;

г) клацнути на вибраному елементі управління панелі інструментів, а потім клацнути у тому місці форми, куди його треба вставити.

2. В мові VBA форма користувача являє собою:

а) спеціалізовану графічну підпрограму;

б) об’єкт класу UserForm, що відбражає на екрані діалогове вікно форми;

в) програмний  модуль, що містить набір елементів управління;

г) документ базового додатку MS Office.

3. До спільних властивостей більшості елементів управління можна віднести наступні:

a) Enabled;

б) Left;

в) Orientation;

г Visible;

д)Height.

4. Різні методи елементів управління дозволяють програмно виконувати над ними наступні операції:

а) зробити елемент управління невидимим;

б) переводити на елемент управління фокус введення;

в) імітувати клацання мишкою на елементі управління;

г) переміщувати елемент управління у формі;

д) змінювати візуальні розміри елементу управління.

5. Інформація, що характеризує поточний стан об’єкта, зберігається в його:

а) методах;

б) подіях;

в) властивостях;

г) аргументах.

 


Дата добавления: 2018-02-18; просмотров: 911; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!