Встроенные диалоговые окна
Диалоговые окна
В VBA существуют две возможности создания диалоговых окон, позволяющих вести интерактивный диалог с пользователями.
Окно сообщений MsgBox выводит простейшие сообщения для пользователя, а окно ввода InputBox обеспечивает ввод информации.
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.
Синтаксис:
InputBox(сообщение [,заголовок] [,default] [,xpos] [,ypos])
Аргументы:
сообщение – строковое выражение, отображаемое как сообщение в диалоговом окне. Может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (chr(13)), символа перевода строки (chr(10)) или комбинации этих клавиш (chr(13) & chr(10));
заголовок – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;
Default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода отображается пустым;
Xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана;
Ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана.
Чтобы передать эту информацию (введенное значение в поле ввода) программе, присвойте возвращенное функцией InputBox значение строковой переменной (рис. 75), например:
strA=InputBox(«Какие места предпочитаете?»,"РЖД","У окна")
Рис. 75.Результат функции InputBox
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.
Синтаксис:
MsgBox(сообщение [, кнопки] [,заголовок] [,файл_справки, раздел])
Аргументы:
сообщение – строковое выражение, отображаемое как сообщение в диалоговом окне;
кнопки – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию равно 0. Все значения данного аргумента см. в табл. 17, 18;
заголовок – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;
файл справки – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо наличие также аргумента context;
раздел – числовое выражение, определяющее номер соответствующего раздела справочной системы.
Таблица 17. Значения аргумента кнопки процедуры MsgBox
Примечание. Первые кнопки активны по умолчанию.
Таблица 18. Значения аргумента кнопки процедуры MsgBox
Если в окне сообщения всего две кнопки, для выяснения, на какой из кнопок был щелчок, прекрасно подходит оператор If … then. Например:
If MsgBox («Начинать?», vbYesNo)= vbYes then
Операторы на действие этой кнопки
Else
Операторы на действие другой кнопки
End if
Пример 35. Создать программу таким образом, чтобы при запуске формы, вводе имени в текстовое поле и нажатии на кнопку «Вывод текста» появлялось диалоговое окно, запрашивающее разрешение вывести текст (рис. 76).
Рис. 76.Форма примера 35 в режиме конструктора
Дата добавления: 2016-04-14; просмотров: 774;