Примеры
-
Оператор MsgBox "Продолжить", vbQuestion+ vbYesNo высвечивает окно сообщений с пиктограммой "знак вопроса" и с двумя кнопками Да (по умолчанию) и Нет.
-
Оператор MsgBox "Ошибка параметра. Продолжить?", 324 высветит окно
В окне сообщения расположены две кнопки Да и Нет, при этом кнопка Нет является кнопкой по умолчанию, а окно сообщения является информационным. Значение buttons равно 4+64+256=324.
Рекомендуется
-
при задании buttons использовать символьную запись констант и их комбинаций для улучшения читабельности программы. Значение buttons для второго примера можно задать как vbYesNo+ vbInformation+ vbDefaultButton2.
Перечень значений, возвращаемых функцией MsgBox
Нажатая кнопка |
Значение функции |
Константа Visual Basic |
Нажатая кнопка |
Значение функции |
Константа Visual Basic |
OK |
1 |
vbOK |
Cancel |
2 |
vbCancel |
Abort |
3 |
vbAbort |
Retry |
4 |
vbRetry |
Ignore |
5 |
vbIgnore |
Yes |
6 |
vbYes |
No |
7 |
vbNo |
|
|
|
Функция InputBox
Функция возвращает значение, введенное пользователем. Возможна запись функции InputBox как встроенной функции Visual Basic и как метода объекта Application.
Синтаксис функции InputBox как функции Visual Basic
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
-
prompt – текст сообщения;
-
title – заголовок окна сообщения;
-
default – значение по умолчанию, которое высвечивается в поле ввода диалога;
-
xpos – число, указывающее отступ в твипсах по горизонтали от начала экрана до левого верхнего угла диалога. Если параметр опущен, то диалог центрован по горизонтали;
-
ypos – число, указывающее отступ в твипсах по вертикали от начала экрана до левого верхнего угла диалога. Если параметр опущен, то диалог опущен приблизительно на одну треть экрана;
-
helpfile – имя файла, содержащего подсказку по высвечиваемому сообщению;
-
context – числовой номер контекстного Help’а.
Важно
-
prompt – обязательный аргумент, остальные возможны.
-
Диалоговое окно имеет всегда две кнопки OK и Cancel.
-
Если нажата кнопка OK или клавиша Enter, то функция возвращает то, что введено в поле ввода диалога.
-
Если нажата кнопка Cancel, то возвращается пустая строка ("").
-
Возвращаемое функцией значение всегда имеет тип String.
-
Если предполагается ввод чисел, то введенное значение необходимо преобразовать в числовое, используя функции преобразования строк в число.
Метод InputBox объекта Application предназначен для ввода непосредственно в объекты приложения Microsoft Excel.
Синтаксис метода InputBox объекта Application
expression.InputBox(Prompt [,Title][,Default][,Left][,Top][,HelpFile,HelpContextId][,Type])
-
expression – выражение, представляющее объект Application. Указание обязательно;
-
Prompt, Title, Default, HelpFile – имеют тот же смысл, что и в первой форме записи;
-
Left – число, указывающее отступ в точках по горизонтали от начала экрана до левого верхнего угла диалога. Если параметр опущен, то диалог центрован по горизонтали;
-
Top – число, указывающее отступ в точках по вертикали от начала экрана до левого верхнего угла диалога. Если параметр опущен, то диалог опущен приблизительно на одну треть экрана;
-
HelpContextId – имеет такое же значение как параметр context в форме функции VBA;
-
Type – тип возвращаемых данных. Если аргумент опущен, то возвращаемое функцией значение имеет тип String. В качестве типа может использоваться любое из перечисленных в таблице значений или их сумма.
Type |
Описание |
0 |
Формула |
1 |
Число |
2 |
Текст (строка символов) |
4 |
Логическое значение (True or False) |
8 |
Ссылка на ячейку как объект Range |
16 |
Значение ошибки, например, #N/A |
64 |
Массив значений |
Важно
-
Диалоговое окно имеет всегда две кнопки OK и Cancel.
-
Если нажата кнопка OK или клавиша Enter, то функция возвращает то, что введено в поле диалога.
-
Если нажата кнопка Cancel, то возвращается False.
-
Если предполагается ввод чисел, то введенное значение необходимо преобразовать в числовое, используя функции преобразования строк в число.
-
Если вводится ссылка на ячейку, помните, что столбец задается буквой латинского алфавита.