Возвращаемые значения при нажатии кнопки

Константа Значение Нажатая кнопка
vbOK   OK
vbCancel   Отмена (Cancel)
vbAbort   Прервать (Abort)
vbRetry   Повторить (Retry)
vbIgnore   Пропустить (Ignore)
vbYes   Да (Yes)
vbNo   Нет (No)

Примеры:

1. Команда: MsgBox "Случайные числа разыграны!"

выводит на экран диалоговое окно с одной кнопкой ОК и стандартным заголовком Excel:

2. Это же окно с информационным значком и другим заголовком:

MsgBox "Случайные числа разыграны!", _

vbDefaultButton1 + vbInformation, "Случайные числа"

3. Фрагмент кода с диалогом о замене существующего файла:

1) Path = "C:\St\Случайные числа.xls"
2) Filename = Dir(Path)
3) If Filename <> "" Then
4) 'В переменной Сообщение задается структура диалогового окна:
5) Сообщение = vbYesNo + vbQuestion + vbDefaultButton1
6) 'Выводит сообщение:
7) Кнопка = MsgBox(("Файл " & Filename & " уже существует. Заменить его?"), Сообщение)
8) Select Case Кнопка
9) Case vbYes
10) MsgBox "Нажата кнопка Да!"
11) Case vbNo
12) MsgBox "Нажата кнопка Нет!"
13) End Select
14) Else
15) MsgBox "Файл " & Filename & " не найден!"
16) End If

Комментарии к программе:

ü 5-ую строку можно записать в следующем виде:

Сообщение = 4 + 32

По субъективному мнению автора эта запись нежелательна, т.к. она не информативна.

ü Аналогично можно было бы записать 9-ю и 11-ю строку (через возвращаемые значения):

Case 6

Case 7

Согласитесь – код совершенно не читабельный!

ü Вместо конструкции Select Case можно было бы воспользоваться управляющей структурой If-Then-Else. Тогда, вместо строк (8) – (13), запишется следующий код:

If Кнопка = vbYes Then

MsgBox "Нажата кнопка Да!"

Else

MsgBox "Нажата кнопка Нет!"

End If


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



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