Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 10

Параметр options управляет отображением значков и набором командных кнопок в окне сообщения. Обычный случай применения функции MsgBox, возвращающей значение - реакция на неотвечающий принтер: пользователь может повторить операцию или отменить её. Следующий пример показывает, как значение, возвращаемое функцией MsgBox, присвоить переменной для последующей обработки.

Пример 3. A= MsgВох("Принтер не отвечает", VbRetryCancel).

В результате формируется  окно вида:

Рис.7

Для того, чтобы параметр options одновременно управлял значками и командными кнопками в окне сообщения, нужно сложить значение констант. Функция MsgBox разработана так, что любые комбинации констант значков и командных кнопок образуют уникальные значения. Функция анализирует эти значения и разбивает на конкретные элементы.

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

B= vbExclamation+ vbAbortRetryIgnore

C= MsgBox (“Файл не существует”, B)

Рис. 8

Замечание. При использовании раскрывающегося списка констант, для выбора второй константы нужно нажать знак “плюс” (+) после первой константы.

Если в окне сообщения используется несколько командных кнопок, то можно также указать, какая из них выбирается по умолчанию. Кнопка по умолчанию - та, которая имеет фокус в момент отображения окна сообщения. Она, как правило, чаще всего используется или наиболее предпочтительна при случайном нажатии клавиши <ENTER>. Например, если выводится сообщение, запрашивающее у пользователя подтверждение удаления записи, то, скорее всего, кнопка по умолчанию указывает, что запись не удаляется. И пользователь должен сознательно выбрать ее удаление.

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

   Таблица 5

Кнопка по

умолчанию

Значение

Константа

Первая

0

VbDefaultButton 1

Вторая

256

VbDefaultButton2

Третья

512

VbDefaultButton3

Четвертая

768

VbDefaultButton4

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

Параметр options - это сумма констант, определяющих:

- тип сообщения или значок

- набор командных кнопок

- константа, определяющая кнопку по умолчанию.

Существует семь кнопок, которые может выбрать пользователь с учетом того, какой набор кнопок используется в окне сообщения. Для идентификации кнопок из программы каждая из них возвращает уникальное значение. Приведем эти значения в табл. 6:

Таблица 6

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

Значение

Константа

OK

1

vbOk

Cancel

2

vbCancel

Abort

3

vbAbort

Retry

4

vbRetry

Ignore

5

vbIgnore

Yes

6

vbYes

No

7

vbNo

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

Пример 5. Сформировать окно, подтверждающее удаление файла.

Приведем программный код для вывода этого окна:

Sub

file = “книга1.xls”     ‘здесь должен быть указан путь к файлу

msg = “Вы действительно хотите удалить файл:’” & file & “’?”

opt = vbExclamation + vbYesNo + vbdefaultButton2

tit = “Удаление файла”

А = MsgBox (msg, opt, tit)

If A = vbYes  Then kill file

End Sub

Рис. 9

Использование функции InputBox