
- •Ввод и вывод информации
- •Функция InputBox
- •Функция MsgBox
- •Допустимые значения аргумента buttons
- •Возвращаемые функцией значения
- •Организация ветвлений Инструкция If...Then...Else
- •Инструкция Select Case
- •Циклы в программе
- •Использование условных инструкций
- •Типы циклов
- •Инструкция For...Next
- •Инструкция For Each...Next
- •Инструкция Do...Loop
- •Повторение инструкций, пока условие имеет значение True
- •Повторение инструкций, пока условие не примет значение True
- •Выход из цикла Do...Loop
Возвращаемые функцией значения
Константа |
Значение |
Нажатая кнопка |
vbOK |
1 |
OK |
vbCancel |
2 |
Отмена (Cancel) |
vbAbort |
3 |
Прервать (Abort) |
vbRetry |
4 |
Повторить (Retry) |
vbIgnore |
5 |
Пропустить (Ignore) |
vbYes |
6 |
Да (Yes) |
vbNo |
7 |
Нет (No) |
Если указаны оба аргумента, helpfile и context, пользователь имеет возможность нажатием клавиши F1 вызвать контекстную справку. Некоторые главные приложения, например, Microsoft Excel, также автоматически добавляют в диалоговое окно кнопку "Справка".
Если окно диалога содержит кнопку "Отмена" (Cancel), нажатие клавиши ESC эквивалентно нажатию этой кнопки. Если окно диалога содержит кнопку "Справка" (Help), значит, существует связанный с ним раздел справочной системы. Однако никакое значение не возвращается до тех пор, пока не будет нажата какая-либо другая кнопка.
MsgBox с двумя или большим числом аргументов можно использовать только в выражении. Наличие запятых, соответствующих отсутствующим аргументам, является обязательным.
Пример 8
Sub окно()
Dim a as integer
MsgBox ("Пример вывода текста")
a = InputBox("Введите целое число!")
MsgBox ("Ваше число=" & a)
con= vbYesNo
res=MsgBox ("Вы согласны, что ” & a & “ это ваше число?",, _
”hello my friend!”)
res = MsgBox("Вы согласны, что " & a & " это ваше число?", con, _
"hello my friend!")
end Sub
Пример 9
В данном примере функция MsgBox используется для вывода окна диалога с сообщением об ошибке и кнопками "Да" (Yes) и "Нет" (No). Основной является кнопка "Нет" (No). Значение, возвращаемое функцией MsgBox, зависит от того, какая кнопка была нажата пользователем. Предположим, что DEMO.HLP является файлом справки, содержащим раздел с номером, равным 1000.
Sub окно2()
Dim Msg, Title, Response, Message, Default, MyValue
' Сообщение.
Msg = "Обнаружена ошибка. Продолжить?"
' Заголовок
Title = "Пример"
' Выводит сообщение
Response = MsgBox(Msg, vbYesNoCancel, Title)
If Response = vbYes Then
' Нажата кнопка "Да" (Yes).
MsgBox ("нажата кнопка ДА")
' Нажата кнопка "Нет" (No)
Else
MsgBox ("нажата кнопка НЕТ")
End If
End Sub
Пример 10
Данная процедура демонстрирует использование аргумента Button функции MsgBox.
Sub окно3()
Dim Title, Response, Message
' Заголовок
Title = "Демонстрация кнопок MsgBox"
' Выводит сообщение
Response = MsgBox(prompt:="Выберите кнопку", _
Title:=Title, _
Buttons:=vbYesNoCancel + vbQuestion)
Select Case Response
' Нажата кнопка "Да" (Yes).
Case Is = vbYes
MsgBox prompt:="Нажата кнопка ДА", _
Title:=Title, _
Buttons:=vbInformation
' Нажата кнопка "Нет"
Case Is = vbNo
MsgBox prompt:="Нажата кнопка НЕТ", _
Title:=Title, _
Buttons:=vbExclamation
' Нажата кнопка "ОТМЕНА"
Case Is = vbCancel
MsgBox prompt:="Нажата кнопка ОТМЕНА", _
Title:=Title, _
Buttons:=vbCritical
End Select
End Sub