Кнопка | Код |
«ОК» | vbOK |
«Cancel» | vbCancel |
«Отменить» | vbAbort |
«Повторить» | vbRetry |
«Игнорировать» | vbIgnore |
«Да» | vbYes |
«Нет» | vbNo |
- ”Заголовок” – текст для заголовка окна (необязателен).
Пример: выполнить вычисления (макрос) по формуле
- данные вводятся с клавиатуры,
- если данные не числа – сообщение об ошибке,
- после вычислений вывести запрос на продолжение.
Код макроса | Комментарий |
Option Explicit | |
Public Sub ExecDialog() | Начало процедуры |
Dim a As Single, b As Single | Задание переменных |
Dim z As Single | |
Dim strA As String, strB As String | |
Dim response | |
newInput: | Ввод данных в диалог |
strA = InputBox("InputA") | |
strB = InputBox("InputB") | |
If Not IsNumeric(strA) Or Not IsNumeric(strB) Then | Проверка ввода (условие) (если данные не числа - сообщение об ошибке в диалоге с пиктограммой (х)) |
MsgBox "Error!" & Chr(10) & Chr(13) & "Not number data!", vbCritical, "" | |
Exit Sub | |
End If | |
a = CSng(strA): b = CSng(strB) | Преобразование a и b в число с плавающей запятой |
z = Sqr(a ^ 2 + b ^ 2) | Формула |
MsgBox "Z=" & Format(z, "###0.00") & "A=" & a & "B=" & b, vbInformation, "" | Вывод результатов работы в диалог с пиктограммой (!) |
response = MsgBox("Input new data", vbQuestion + vbYesNo, "") | Запрос на повторный ввод данных в диалоге с пиктограммой (?) и кнопками Да, Нет |
If response = vbYes Then GoTo newInput | Если Да, новый ввод данных |
End Sub | Окончание процедуры |
Задание:
|
|
1. Убрать проверку ввода.
2. Убрать запрос на ввод новых данных.
3. Изменить имя процедуры на «h».
4. Изменить имена переменных: strA на с, strB на d.
5. Изменить сообщения InputA на ВводА, InputB на ВводВ.