Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Програмні оболонки і пакети.doc
Скачиваний:
10
Добавлен:
05.03.2016
Размер:
4.17 Mб
Скачать

Лабораторна робота №9 Тема “Взаємодія vba з користувачем”

Під час виконання макроса часто виникає необхідність підтримки зв’язку з користувачем. Наприклад, виведення деякої інформації або повідомлення користувачеві, виведення запиту користувачеві.

1. Функція MsgBox

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

Синтаксис функції

Результат= MsgBox (текст_сообщения, [опции_кнопок]

[, текст_заголовка] [, файл_справки, содержание])

- текст_сообщения – текст повідомлення у вигляді рядка символів;

- опции_кнопок – числове значення, яке вказує кнопку, котра повинна з’явитися у вікні повідомлення, а також деякі інші опції для відображення;

- текст_заголовка – необов’язковий аргумент для розміщення заголовка у вікні повідомлень;

- файл_справки и содержание – ім’я файлу довідки Windows, зміст – числовий вираз певного місця розташування у файлі довідки;

- результат – числове значення, яке повертає функція після клацання по кнопці, що дозволяє дізнатися про вибір користувача.

При виведенні повідомлень у вікні повинна бути тільки одна кнопка “Ok”, тому повернене значення функції MsgBox не потрібне, і функція використовується як одиночний оператор. Деякі константи й повернені значення функції MsgBox наведені в таблицях 5 і 6.

Константи функції MsgBox Таблиця 5

Ім’я

Значення

Опис

vbOkOnly

0

Відображується тільки кнопка «Ok»

vbOkCancel

1

Відображуються кнопки «Ok» і «Oтмена»

vbAbortRetryIgnore

2

- // - «Стоп», «Повтор» і «Пропустить»

vbYesNoCancel

3

- // - «Да», «Нет» і «Oтмена»

Повернені значення функції MsgBox Таблиця 6

Ім’я

Зна-чення

Опис

vbOk

1

«Ok»

vbCancel

2

«Oтмена»

vbAbort

3

«Стоп»

vbRetry

4

«Повтор»

2. Функція InputBox

Вибір користувача у функції MsgBox обмежений кнопками. Якщо у відповідь на запитання потрібне введення інформації, використовується функція InputBox.

Синтаксис функції

РезультатТекст= InputBox (приглашение [, текст_заголовка] [,по_умолчанию [, x_поз][, y_поз] [, файл_справки, содержание]])

- приглашение – питання або повідомлення для користувача;

- текст_заголовка – назва вікна введення;

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

- x_поз і y_поз – числові значення координат, котрі задають місце вікна введення на екрані, якщо вони відсутні – по центру екрана;

  • файл_справки и содержание – ім’я файлу довідки Windows;

  • РезультатТекст – текст, уведений користувачем у вікні введення.

3. Створення підпрограм і функцій користувача

Якщо під час створення великих за розміром і складних макросів необхідно вводити одні і ті ж фрагменти програми, потрібно створювати підпрограми. Тобто один макрос може мати декілька підпрограм.

Підпрограма – це звичайна процедура VBA, яка оголошена за допомогою ключового слова Sub, її можно викликати з іншої процедури або макроса. Підпрограма – це набір операторів VBA, який може бути виконаний як єдине ціле.

Синтаксис підпрограми

Sub Имя Процедуры ([список_аргументов])

[операторы]

End Sub

- Имя Процедуры – будь-яке дозволене ім’я;

- список_аргументов – список значень, які передаються підпрограмі під час виклику і записані через розділювач (,);

- операторы – оператори мови програмування.

Функція – це спеціальний тип процедури VBA, вона відрізняється тим, що повертає результат. За її допомогою можливо виконувати обчислення, аналогічні вбудованим функціям Excel. Функції користувача визначаються у VBA як процедури.

Синтаксис функції

Function Имя Функции ([список_аргументов]) [As Type]

[операторы]

Имя_Функции = выражение

End Function

- Имя Функции – ім‘я оголошеної функції;

- список_аргументов – список аргументів, записаний через розділювач (,), які передаються функції;

- As Type – визначає тип даних для значень, котрі повертаються функцією, якщо відсутня ця частина, тоді тип Variant;

- Имя_Функции – змінна, якій надається певне значення.

4. Створення форм користувача

4.1. Елементи управління

У VBA діалогові вікна створюються у вигляді форм. VBA Excel надає повну об’єктну модель для роботи з об’єктом форми, його методами і властивостями. Сама форма не приносить великої користі до тих пір, доки не додані елементи управління. Різноманітні елементи управління - кнопки, поля і надписи для форм - установлюються за допомогою “Панель элементов”, команда “Вид\Панель элементов”.

Елементи управління – цеоб’єкти форми, які використовуються для відображення і введення даних або для виклику подій (рис. 2).

Рис. 2. Панель елементів

Декілька стандартних елементів управління (надпис, кнопка, поле) найбільш поширені у формах VBA:

- надпис (Label) використовується для відображення тексту, користувач може редагувати зміст надпису, а також вибирати текст надпису;

- кнопка (CommandButton) – це елемент управління, яким користувач може керувати за допомогою маніпулятора “миша” або клавіатури; вона використовується для повідомлення про деяку подію;

- поле (Text Box) використовується користувачем для введення і редагування тексту або для відображення будь-яких результатів.

Елементи управління додаються у форму шляхом вибору їх на панелі елементів та перенесенням їх у відповідне місце форми, розміри елемента управління задаються користувачем. Кожний елемент управління, який розміщений на формі, є об’єктом. Форма такожоб’єкт. Елементи управління мають власні властивості і методи ( кодVBA), а також пов’язані з ними події (клацання, подвійне клацання маніпулятором “миша”). Властивості елемента управління визначають його атрибути, колір, розмір та місце розташування. Кожний тип елемента управління має різні властивості, деякі з них:

- властивість Name будь-якого елемента управління дозволяє звертатися до елемента управління на ім’я;

- властивість Caption (Label) містить текст надпису;

- властивість Caption (Command Button) містить текст надпису на кнопці;

- властивість Default (Command Button), котра має значення True, задає режим для кнопки, при якому натискання клавіші “Enter” під час відображення форми означає, що кнопка буде натиснута автоматично (використовується тільки для однієї кнопки форми);

- властивість Cancel (Command Button), яка має значення True, перетворює елемент управління в кнопку відміни для форми, тобто якщо під час відображення форми користувач натискує “Esc”, ця кнопка буде натиснута автоматично (використовується тільки для однієї кнопки форми).