Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_1 Mетодичка-Exel_укр_2.doc
Скачиваний:
3
Добавлен:
17.09.2019
Размер:
1.43 Mб
Скачать

1.3. Набуття значень від функції MsgBox()

Діалогове вікно не містить варіантів вибору, не дуже зручно використовувати якщо не визначити, яку командну кнопку натиснув користувач, потрібно використовувати функціональну форму MsgBox() і перевірити повернене функцією значення. Можливі значення, повернені функцією, і відповідні їм константи Visual Basic приведені в таблиці 2.

Таблиця 2. Значення, повернене функцією MsgBox()

Код

Константа

Командна кнопка

vbOK

OK

vbCancel

Cancel

vbAbort

Abort

vbRetry

Retry

vbIgnore

Ignore

vbYes

Yes

vbNo

No

Так, щоб використовувати в процедурі діалогове вікно, описане в попередньому попередньому, можна створити наступну процедуру:

Sub Example_Dialog()

Dim Code As Integer, Code_Button As Integer

Code = vbYesNo + vbDefaultButton2 + vbExclamation + vbAppliсationModal

Code_Button = MsgBox(prompt:=”Ви, дійсно хочете це зробити?”, Buttons:=Code)

Select Case Code_Button

Case vbYes

'Блок для відповіді Да (Yes)

Debug.Print «Да»

Case vbNo

'Блок для відповіді Нет (No)

Debug.Print “Нет”

End Select

End Sub

Рисунок 7. Вікно діалогу процедури Example_Dialog1

Ця процедура обчислює код командних кнопок і піктограм діалогового вікна, відображає це діалогове вікно і зберігає повернене значення в змінній Code_Button. Потім застосовується структура Select Case, що вибирає блок коду, яка відповідає поверненому значенню. Запустите цю процедуру, на панелі Immediate, вікна Debug — і вона надрукує «Да» чи «Нет» залежно від того, яку командну кнопку натиснемо для закриття діалогового вікна.

2. Вживання функції InputBox()

Функція InputBox() створює вбудоване діалогове вікно для введення, редагування тексту та містить командніу кнопки ОК і Cancel. Коли ви застосовуєте цю функцію, будь-який текст, записаний в текстове вікно діалогового вікна, буде повернений функцією після того, як користувач натисне командну кнопку ОК. Якщо ж користувач натискуватиме командну кнопку Cancel, то буде повернений порожній рядок ("").

Синтаксис:

змінна= InputBox(prompt[, title] [,] [, xpos] [, ypos] [, helpfile, context])

де аргументи розташовані в квадратних дужках є не обов’язковими, Prompt – текст, коментар для поля вводу; titleЗаголовок, текст в рядку заголовка вікна діалогу; default – текст, що передається зміній по замовченню; xpos та yposцілі числа, що надають координати розташування вікна діалогу; helpfileтекс, назва файлу-справки, contextціле число, індекс файлу-справки.

Значення, повернене функцією є рядком тексту. Якщо ви передбачаєте, що функція поверне число, то ваша процедура повинна використовувати функцію Val() для перетворення в число, поверненого функцією InputBox() (з символьного представлення в двійкову, придатну для використання в програмі):

змінна= Val(InputBox(prompt[, title] [,] [, xpos] [, ypos] [, helpfile, context]))

Інколи користувачі записують в діалогове вікно помилкові дані тому слід, контролювати правильність даних, що вводяться. В даному випадку процедура намагається використовувати значення, повернені з діалогового вікна, тому потрібно контролювати ці значення з точки зору їх обґрунтованості, правильності типа (рядок або число). Чи є значення обґрунтованим, залежить від того, що ви намагаєтеся отримати від користувача, тобто зробити перевірку. Для цього слід застосовувати логічні функції ( що наведені в темі 5, та починаються на IS)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]