Ввод и вывод информации

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

InputBox

Выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа string, содержащее текст, введенный в поле. Синтаксис:

InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Здесь аргументы означают:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения;

default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым;

xpos – числовое выражение, задающее расстояние по го­ризонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали;

ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, диалоговое окно помещается по вертикали примерно на одну треть высоты экрана;

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

context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо наличие также аргумента helpfile.

MsgBox

Выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа integer, указывающее, какая кнопка была нажата. Синтаксис:

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

Аргументы:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и вид окна сообщения. Значение по умолчанию этого аргумента равняется 0.

Рассмотрим пример использования окон сообщений. В результате действия приведенной ниже процедуры CommandButton1_Click() появится диалоговое окно Пример окна ввода с полем ввода (рис. 5.1). Следуя приглашению в этом диалоговом окне, введем в поле ввода имя, например, Николай Маркович. Нажмем кнопку ОК. На экране отобразится диалоговое окно пример окна сообщения с текстом приветствия (рис. 5.2). Если пользователь не введет имя в поле ввода диалогового окна Пример окна ввода или нажмет кнопку Отмена, то компьютер выразит свое неудовлетворение действиями пользователя отображением диалогового окна Еще один пример окна сообщения (рис. 5.3).

 
 

Рисунок 5.1


Рисунок 5.2

Рисунок 5.3

 
 

Private Sub CommandButton1_Click()

' Описание переменной

Dim Name As String

' Ввод имени пользователя

Name = InputBox("Введите свое имя", "Пример окна ввода")

' Реакция программы на ввод имени пользователя

If Name <> "" Then

Response = MsgBox("Здравствуйте, " + Name, vbInformation, " ")

Else

Response = MsgBox("Вы забыли ввести свое имя! ", vbExclamation, "Еще один пример окна сообщения")

End If

End Sub

Значения аргумента buttons процедуры MsgBox, определяющие отображаемые кнопки в диалоговом окне:

Константа Значение Отображаются кнопки
vbOKOnly  
vbOKCancel  
vbAbortRetryIgnore  
vbYesNoCancel  
vbYesNo  
vbRetryCancel  

Значения аргумента buttons процедуры MsgBox, определяющие отображаемые информационные значки в диалоговом окне:

Константа Значение Отображаются кнопки
vbCritical  
vbQuestion  
vbExclamation  
vbInformation  

Значения аргумента buttons процедуры MsgBox, определяющие основную кнопку в диалоговом окне:

Константа Значение Номер основной кнопки
vbDefaultButton1    
vbDefaultButton2    
vbDefaultButton3    
vbDefaultButton4    

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

Константа Значение Нажатая кнопка
vbOK I OK
vbCancel   Отмена (Cancel)
vbAbort   Прервать (Abort)
vbRetry   Повторить (Retry)
vblgnore   Пропустить (Ignore)
vbYes   Да (Yes)
vbNo   Нет (No)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: