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

Лабораторна робота 11 Елементи керування

Об'єкт UserForm може містити ті ж елементи керування, що знаходяться в діалогових вікнах Word, Excel чи інших додатках Windows.

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

Таблиця 25

Елемент керування

Призначення

1

2

Label

(напис, мітка)

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

TextBox

(текстове поле)

Вікно тексту вільної форми, що редагується, для введення даних. Може бути одно- чи багатостроковим

ComboBox

(поле зі списком)

Поєднує вікно редагування й вікно списку. Використовуйте, коли хочете запропонувати користувачу вибрати значення, але при цьому дати йому можливість увести дані, відсутні в списку. Ви можете також обмежити вибір тільки тими значеннями, що з'являються в ComboBox для емуляції спадного списку

ListBox

(список)

Відображає список значень, з яких користувач може зробити вибір. Вікна списку можна використовувати, щоб дати можливість користувачу вибрати тільки одне значення або декілька

CheckBox

(прапорець)

Стандартний прапорець (квадратне вікно, що містить, якщо елемент обраний, галочку). Використовуйте прапорці для вибору варіантів, що не є виключні

OptionButton

(перемикач)

Стандартне вікно-перемикач (кругле вікно, при виборі в центрі його знаходиться чорна крапка). Використовуйте OptionButton, коли користувачу необхідно зробити вибір між “включене-виключене”, “істина-неправда”. Кнопки перемикача, як правило, поєднуються разом за допомогою рамки для створення групи перемикачів

ToggleButton

(вимикач)

Вимикачі служать для тієї ж мети, що й прапорці, але виводять установки у вигляді кнопки, що знаходиться в “натиснутому” чи “віджатому” стані

Закінчення табл. 25

1

2

Frame

(рамка)

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

CommandButton

(кнопка)

Використовуйте кнопки для виконання таких дій, як Cancel (скасування), Save (зберегти), ОК і т.д. Коли користувач клацає по кнопці, виконується VBA-процедура, закріплена за даним елементом керування

TabStrip

(набір вкладок)

Цей елемент керування складається з області, у яку Ви поміщаєте інші елементи керування (такі як текстові поля, прапорці і т.д.) і смуги кнопок табуляції. Використовуйте елемент керування TabStrip для створення діалогових вкладок, що відображають ті самі дані в різних категоріях

MultiPage

(набір сторінок)

Цей елемент керування складається з декількох сторінок. Ви можете вибрати кожну з них, клацнувши по відповідній вкладці. Використовуйте елемент керування MultiPage для створення діалогових вікон із вкладками

ScrolBar

(смуга прокручування)

Цей елемент керування дозволяє вибирати лінійне значення, аналогічне тому, як це можна зробити за допомогою лічильника

SpinButton

(лічильник)

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

Image

(рисунок)

Елемент керування Image дозволяє вивести на формі графічне зображення. Використовуйте Image для введення графічних зображень у кожнім з наступних форматів: *.bmp, *.cur, *.gif, *.ico, *.jpg, *.wrnf. Ви можете обрізати і масштабувати графічне зображення, щоб підібрати розмір елемента Image, але тільки не редагувати графічне зображення. Можна навіть написати спеціальну VBA-процедуру, що виконується, якщо користувач клацне по елементі керування Image

Використання панелі інструментів Toolbox.

Використовуйте Toolbox (рис.5) для розміщення на формі елементів керування:

Select Object (вибір об'єктів), Label (напис), TextBox (поле), ComboBox (поле зі списком), ListBox (список), CheckBox (прапорець), OptionButton (перемикач), ToggleButton (вимикач), Frame (рамка), CommandButton (кнопка), TabStrip (набір вкладок), MultiPage (набір сторінок), ScrolBar (смуга прокручування), SpinButton (лічильник), Image (малюнок).

Рисунок 5

Доступ до елементів керування

1. Excel

На робочому листі можна розміщати різні елементи керування за допомогою панелі інструментів «Елементи керування», що відображається на екрані вибором команди Вид\Панелі інструментів\ Елементи керування чи натисканням кнопки «режим конструктора» на робочому листі .

а б в

Рисунок 6

Список основних елементів керування і вид відповідних кнопок панелі елементів наведений на рисунку 6.

а)перехід у режим конструктора;

б)перехід до властивостей;

в)перехід до вихідного тексту програми (код у VBA).

2. Редактор VBA

У VBA є великий набір убудованих елементів керування. Використовуючи цей набір і редактор форм, неважко створити користувальницький інтерфейс, що буде задовольняти усі вимоги, що ставляться до інтерфейсу в середовищі Windows.

Елементи керування є об'єкти. Тому, як будь-які об'єкти, вони мають властивості (табл. 26), методи й події (табл. 27). Елементи керування створюються за допомогою панелі інструментів «Елементи керування», що відображається на екрані або вибором команди View\Toolbox, або натисканням кнопки Toolbox (кнопка) панелі інструментів Standart. На цій панелі подані кнопки, за допомогою яких конструюються елементи керування. Усі кнопки панелі інструментів, за винятком кнопки «вибір об'єктів», служать для створення елементів керування. Клацнувши по кнопці «вибір об'єктів», можна виділити вже створений у формі елемент керування для наступного його редагування (зміна розмірів чи переміщення за допомогою маркерів).

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

Таблиця 26

Властивість

Область застосування

Опис

1

2

3

Accelerator

CheckBox, Tab, CommandButton, Lable, Page, OptionButton, ToggleButton

Містить символ, використовуваний як швидку операцію виклику, елемента керування. При натисканні Alt +<клавіша швидкого виклику> відбувається вибір елемента керування

Cancel

CommandButton

Задає кнопку скасування діалогового вікна. При натисканні на цю кнопку чи клавішу Esc діалогове вікно зникає. Тільки одна кнопка форми може мати дану властивість

Default

CommandButton

Визначає задану за замовчуванням кнопку. Коли користувач у процесі діалогу натискає клавіші Enter, ця кнопка поводиться так, ніби по ній клацнули

List

ComboBox

Масив типу Variant (одно- чи багатомірний), представляє список, що міститься в елементі керування. Використовуєте індекс Value як нижній індекс у колекції List, щоб одержати текст для обраного пункту списку. Використовуйте методи елемента керування AddItem і RemoveItem для додавання чи видалення пунктів списку

Закінчення табл. 26

1

2

3

Max

ScrolBar, SpinButton

Змінна типу Long, що визначає максимальне значення лічильника, чи значення, при якому смуга прокручування знаходиться в самому верху (для вертикальної смуги) чи праворуч (для горизонтальної)

Min

ScrolBar, SpinButton

Змінна типу Long, що визначає мінімальне значення лічильника, чи значення, при якому смуга прокручування знаходиться в самому низі (для вертикальної смуги) чи ліворуч (для горизонтальної)

RowSource

ComboBox

Задає джерело, з якого ListBox бере список об'єктів. У Excel VBA звичайно використовує діапазон робочого листа

Selected

ListBox

Повертає масив значень типу Boolean для списку, що допускає множинний вибір. Кожен елемент масиву містить по одному елементу, що відповідає кожному пункту списку. Якщо значення елемента в масиві Selected дорівнює True, то відповідний пункт списку обраний

TabIndex

Усі елементи керування

Число, що вказує положення елемента керування в порядку табуляції (може мати значення від 0 до значення, рівного кількості елементів керування на формі)

TabStop

Усі елементи керування

Значення типу Boolean, що вказує, чи може елемент керування бути обраний клавішею Tab. Якщо значення TabStop дорівнює False, Ви, проте, можете клацнути на елементі й у такий спосіб його вибрати

Value

Усі елементи керування

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

Таблиця 27

Подія

Опис

1

2

AfterUpdate

Ініціюється після відновлення значення елемента керування

BeforeUpdate

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

Закінчення табл. 27

1

2

Change

Ініціюється всякий раз, як змінюється значення елемента керування

Click

Ініціюється всякий раз, коли по елементу керування клацають мишею. Використовуйте дану подію для того, щоб виконати дію за допомогою кнопки

DblClick

Ініціюється всякий раз, коли по елементі керування двічі клацають мишею. Використовуйте дану подію для введення додаткових форм

Enter

Ініціюється всякий раз, коли виділяється елемент керування (фокус)

Exit

Ініціюється всякий раз, коли з елемента керування знімається виділення (утрачає фокус)

Error

Ініціюється всякий раз, коли елемент керування виявляє помилку й не може повернути інформацію про помилку в програму

KeyDown

Ініціюється при натисканні користувачем якої-небудь клавіші в той момент, коли форма виконується й має фокус

KeyPress

Ініціюється, коли користувач натискає алфавітно-цифрову клавішу

KeyUp

Ініціюється, коли користувач відпускає клавішу

Layout

Ініціюється, коли змінюються розміри елемента Frame чи MaltiPage

MouseDown, MouseUp

Ініціюється при клацанні мишею. MouseDown: коли користувач натискає на клавішу миші; MouseUp: коли користувач відпускає клавішу миші

MouseMove

Ініціюється, коли користувач переміщає мишу

SpinDown, SpinUp

Подія SpinDown ініціюється, коли користувач клацає стрілу “униз” (чи “уліво”) кнопки лічильника. Подія SpinUp ініціюється, коли користувач клацає стрілу “нагору” (чи “вправо”) кнопки лічильника

Zoom

Ініціюється в разі зміни властивості Zoom

Приклад 1

Елемент керування Лічильник призначений для установки числового значення. Основна подія Лічильника – Change, яка генерується в разі зміни значення лічильника. Властивості елемента керування SpinButton (лічильник) наведені в таблиці 28.

За допомогою цих властивостей лічильника і функції RGB створимо додаток для керування палітрою кольорів тексту «Visual Basic for Application», уведеного в чарунку «А1» робочого листа. Для цього на робочому листі створимо 3 лічильники, за допомогою вікна Properties установимо значення їх властивостей і в модулі робочого листа напишемо відповідні процедури

Таблиця 28

Value

установлює чи повертає поточне значення лічильника. Значеннями лічильника є натуральні числа

Min

мінімальне значення лічильника

Max

максимальне значення лічильника

SmallChange

установлює крок зміни значення при клацанні на одній зі стрілок

LinkedCell

посилання на чарунку, звідки зчитуються чи куди вводиться поточне значення лічильника

Name

Ім'я об'єкта. За замовчуванням має значення Spinbutton1, Spinbutton2 і т.д.

Sub Spinbutton_Change() 'і=1,2,3

Колір spinbutton1.Value, spinbutton2.Value, spinbutton3.Value

End Sub

Sub Worksheet_Activate()

With Range("A1")

.Value = "visual basic for applicatin"

.Font.Size = 20 'в чарунки ввести слова

.Font.Bold = True ' "червоний", "зелений", "синій".

End With

End Sub

Sub Колір(R, G, B)

Range("A1").Font.Color = RGB(R, G, B)

End Sub

Рисунок 7

Завдання до лабораторної роботи 11

1. Модифікувати програму до попередньої лабораторної роботи таким чином, щоб залежно від значень перемикачів:

  1. або обчислити значення функції, що вводиться, при значенні аргументу, що вводиться. Результат відобразити в текстовому полі;

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

Рисунок 8

Для реалізації задачі створити діалогове вікно (рис.8), що відображає в разі ініціалізації два перемикачі OptionButton1 і OptionButton2 , дві мітки до них «значення» і «графік» відповідно, три командних кнопки «Обчислити», «Очистити» і «Вихід».

Під час вибору перемикача 2 діалогове вікно набуває вигляду 2 (рис.9).

Рисунок 9

Під час вибору перемикача 1 діалогове вікно набуває вигляду 1 (рис. 10).

Рисунок 10

2. Створити додаток, що дозволяє знайти роз’язок алгебраїчного рівняння на заданому проміжку з заданою точністю:

а) методом Ньютона;

б)методом половинного розподілу.

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