Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_8_Prosteyshie_vstroennye_dialogovye_okna_u....doc
Скачиваний:
2
Добавлен:
27.11.2018
Размер:
323.07 Кб
Скачать
      1. Набуття значень від функції MsgBox

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

Таблиця 2. Значення, що повертається функцією MsgBoxO

Код

Константа

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

vbOK

OK

vbCancel

Cancel

vbAbort

Abort

vbRetry

Retry

vblgnore

Ignore

vbYes

Yes

vbNo

No

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

Sub MakeDialog1()

Dim theCode As Integer, theReply As Integer

theCode = vbYesNo + vbDefaultButton2 + vbExclanation + vbAppliсationModa1

theReply = MsgBox(prompt:="Вы дійсно хочете це зробити?",_

Buttons:=theCode)

Select Case theReply

Case vbYes

'Він дійсно хоче це зробити, доведеться продовжити.

'Блок коду для відповіді Yes.

Debug.Print "Та"

Case vbNo

'Блок коду для відповіді No.

Debug.Print "Ні"

End Select

End Sub

Ця процедура обчислює код командних кнопок і піктограм діалогового вікна, відображує це діалогове вікно і зберігає повернене значення в змінній theReply. Потім застосовується структура Select Case, що вибирає блок коду, який відповідає поверненому значенню. Запустите цю процедуру на панелі Immediate; вікна Debug — і вона надрукує "Та чи ні" залежно від того, яку i командну кнопку ви натискуватимете для закриття діалогового вікна.

    1. Застосування діалогових вікон інших типів

У Visual Basic існують ще два типи вбудованих діалогових вікон: GetOpenFilename і GetSaveAsFilename. Ці вікна не відкривають файл і не зберігають його. Вони тільки дозволяють вказати його ім'я і шлях. Команди, що створюють такі діалогові вікна, є не операторами Visual Basic, а методами об'єкту Application.

Оператори, що створюють цих двох типів діалогових вікон, мають наступний синтаксис:

theFilename = Application.GetOpenFilename(файловый_фильтр, индекс_фильтра, заголовок)

theFilename = Application.SaveAsfilename(початкове ім'я файлу, файловий фільтр, індекс фільтру, заголовок)

Обидва методи застосовуються до об'єкту Application і повертають ім'я файлу і шлях, вибрані користувачем. Діалогові вікна, аналогічні цим, відображуються, коли використовуються директиви Excel File/Open і File/Save As. У цих діалогових вікнах є командні кнопки Open або Save і Cancel. Якщо користувач натискуватиме командну кнопку Cancel, методи повернуть значення False.

Аргумент файловый_фильтр визначає, які файлові фільтри перераховуються у випадному списку File Type діалогового вікна. У списку файлів діалогового вікна з'являються тільки ті файли, які збіглися з вибраним файловим фільтром. Файловий фільтр складається з двох часток —текста і фільтру. Текст відображується у випадному списку File Type, а фільтр використовується для вибору файлів із списку файлів.

Як приклад розгледимо аргумент:

Всі файли (*.*), *.*

Текст «Всі файли (*.*)» відображуватиметься у випадному списку File Type, а *.* є дійсним фільтром, що вибирає і відображує список всіх файлів поточної директорії.

Розгледимо інший приклад файлового фільтру:

Всі файли (*.*), *.*, Робочі теки Excel (*.xls) *.xls

Цей фільтр відображує два елементи у випадному списку File Type: "Всі файли (*.*)" і "Робочі теки Excel (*.XLS)".

Аргумент индекс_фильтра є цілим числом, задаючим у випадному списку File Type файловий фільтр по умолчанию- Аргумент заголовок аналогічний використовуваному для функції InputBoxO. Аргумент начальное_имя_файла визначає початкове, задане за умовчанням ім'я файлу, яке поміщають у вікно редагування тексту.

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