Диалоговые окна VBA

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

Окно сообщений MsgBox выводит простейшие сообщения для пользователя, а окно ввода InputBox обеспечивает ввод информации.

Синтаксис:

InputBox (сообщение [, заголовок ] [, default ] [, xpos ] [, ypos ])

Аргументы:

сообщение – строковое (текстовое) выражение, отображаемое как сообщение в диалоговом окне. Может содержать несколько строк.;

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

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

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

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

Синтаксис:

MsgBox сообщение [, кнопки ] [, заголовок ] [, файл_справки, раздел ]

Аргументы

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

кнопки - числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию равно 0. Все значения данного аргумента указаны в таблице 3.1;

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

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

раздел - числовое выражение, определяющее номер соответствующего раздела справочной системы.

Таблица 3.1 – Значения аргумента кнопки процедуры MsgBox

Константа Значение / код Отображаемые кнопки
VbOkOnly MsgBox("Привет!", vbOKOnly)=vbOk
VbOkCancel MsgBox ("Привет!", vbOKCancel)=vbOk
VbAbortRetryIgnore MsgBox ("Привет!", VbAbortRetryIgnore)=vbAbort
VbYesNoCancel MsgBox("Привет!", VbYesNoCancel)=vbYes
VbYesNo MsgBox ("Привет!", vbYesNo)=vbYes
VbRetryCancel MsgBox ("Привет!", VbRetryCancel)=vbretry
VbCritical MsgBox("Привет!", vbCritical)=vbYes Критическое сообщение
VbQuestion MsgBox("Привет!", VbQuestion)=vbYes Запрос
VbExclamation MsgBox("Привет!", VbExclamation)=vbYes Предупреждение
VbInformation MsgBox("Привет!", vbInformation)=vbYes Информация

Если в окне сообщения всего две кнопки, для выяснения, на какой из кнопок был щелчок, прекрасно подходит оператор If … then. Например:

If MsgBox ("Начинать?", vbYesNo)= vbYes then

Операторы на действие этой кнопки "Yes"

Else


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



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