Параметр 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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.