Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Организация интерфейса при помощи встроенных функций

Для ввода/вывода данных или для высвечивания иформационных сообщений используются встроенные функции MsgBox и InputBox. Некоторые возможности использования этих функций рассматривались в Разделе 1. Быстрый старт.

Обе функции создают на экране диалоговые окна с сообщением и командными кнопками, выполнение программы приостанавливается до нажатия одной из кнопок. В процедуру возвращается значение, соответствующее нажатой кнопке диалогового окна.

Функция MsgBox

Синтаксис функции MsgBox

MsgBox(prompt [,buttons] [,title] [,helpfile, context])

  • prompt – текст высвечиваемого сообщения. Обязательный аргумент;

  • buttons – определяет вид и модальность диалога.

Можно использовать встроенные константы, коды или сумму кодов (см. ниже), которые задают количество и названия командных кнопок, пиктограмму в окне сообщения, кнопку по умолчанию, положение диалога по отношению к открытым окнам;

  • title – заголовок окна сообщения;

  • helpfile – имя файла, содержащего подсказку по высвечиваемому сообщению;

  • context – числовой номер контекстного Help’а.

Важно

  • Если аргумент title отсутствует, то в заголовке высвечивается Microsoft Excel.

  • Использование параметра context обязательно, если задан helpfile и наоборот.

  • Функция MsgBox используется в операторной или функциональной формах:

  • в операторной форме через пробел после ключевого слова следует только текст сообщения prompt без скобок.

  • в функциональной форме список аргументов заключается в скобки и тогда функция MsgBox возвращает код нажатой кнопки (см. ниже Перечень значений, возвращаемых функций MsgBox).

Текст сообщения является строкой символов. В качестве текста сообщения может использоваться строковая переменная или константа, а также сцепленные строковые переменные (оператор сцепления &). Для форматирования чисел можно использовать функции преобразования Format или Str.

Названия и коды кнопок, пиктограмм и модальности диалога MsgBox

Группы

Описание

коды

константы

Кнопки

OK

0

vbOKOnly

OK, Cancel

1

vbOKCancel

Abort, Retry, Ignore

2

vbAbortRetryIgnore

Yes, No, Cancel

3

vbYesNoCancel

Yes, No

4

vbYesNo

Retry, Cancel

5

vbRetryCancel

Виды пиктограмм

–запрещенное действие

16

vbCritical

– знак вопроса

32

vbQuestion

– восклицательный знак

48

vbExclamation

– информационное сообщение

64

vbInformation

Кнопка по умолчанию

Первая кнопка

0

vbDefaultButton1

Вторая кнопка

256

vbDefaultButton2

Третья кнопка

512

vbDefaultButton3

Четвертая кнопка

768

vbDefaultButton4

Модальность

Окно сообщения поверх всех окон приложения

0

vbApplicationModal

Окно сообщения поверх всех открытых окон

4096

vbSystemModal

Задание параметра buttons производится суммированием необходимых констант или кодов из перечисленных в таблице. При этом допускается использование только одной константы из группы.

Примеры

  1. Оператор MsgBox "Продолжить", vbQuestion+ vbYesNo высвечивает окно сообщений с пиктограммой "знак вопроса" и с двумя кнопками Да (по умолчанию) и Нет.

  1. Оператор MsgBox "Ошибка параметра. Продолжить?", 324 высветит окно

В окне сообщения расположены две кнопки Да и Нет, при этом кнопка Нет является кнопкой по умолчанию, а окно сообщения является информационным. Значение buttons равно 4+64+256=324.

Рекомендуется

  • при задании buttons использовать символьную запись констант и их комбинаций для улучшения читабельности программы. Значение buttons для второго примера можно задать как vbYesNo+ vbInformation+ vbDefaultButton2.

Перечень значений, возвращаемых функцией MsgBox

Нажатая кнопка

Значение функции

Константа Visual Basic

Нажатая кнопка

Значение функции

Константа Visual Basic

OK

1

vbOK

Cancel

2

vbCancel

Abort

3

vbAbort

Retry

4

vbRetry

Ignore

5

vbIgnore

Yes

6

vbYes

No

7

vbNo