Окна сообщений – это диалоговые окна, которые выдают пользователю сообщение и снабжаются одной или более кнопками для выбора. В VBAтакие окна создаются с использованием функции или утверждения MsgBox.
Синтаксис утвержденияMsgBox
MsgBox<сообщение> [ , тип][ , заголовок ]
где сообщение–текст, который будет отображаться в диалоговом окне; тип – число, которое задает тип выводимого диалогового окна; заголовок – текст, который будет выводиться в заголовке диалогового окна. В квадратные скобки заключены необязательные элементы. Запятые указывают, что если используется какой-либо из следующих аргументов, то его следует при помощи запятой (или запятых) отделить от предыдущего аргумента. В качестве типа могут быть указаны не только числовые (например 4), но и текстовые константы (например VbYesNo).
Значения типа MsgBox
Значения типа |
Описание |
0 (VbOKOnly) |
Выводить только кнопку ОК (Да) |
1 (VbOKCancel) |
Выводить кнопки ОК и Cancel (Да, Отмена) |
2 (VbAbortRetryIgnore) |
Выводить кнопки Abort, Retry и Ignore (Прекратить, Повторить, Игнорировать) |
3 (VbYesNoCancel) |
Выводить кнопки Yes, No и Cancel (Да, Нет, Отмена) |
4 (VbYesNo) |
Выводить кнопки Yes и No (Да, Нет) |
5 (VbRetryCancel) |
Выводить кнопки Retry и Cancel (Повторить, Отмена) |
16 |
Выводить пиктограмму “Стоп” |
32 |
Выводить пиктограмму “?” |
48 |
Выводить пиктограмму “!” |
64 |
Выводить пиктограмму информации |
0 |
Кнопка по умолчанию – первая |
256 |
Кнопка по умолчанию – вторая |
512 |
Кнопка по умолчанию – третья |
0 |
Программное ведущее диалоговое окно |
4096 |
Системное ведущее диалоговое окно |
При использовании MsgBox как утверждения, оно выводит диалоговое окно в соответствии с указаниями, но не сообщает, какую кнопку на нем нажал пользователь. Этого достаточно для диалоговых окон, которые просто информируют о чем-либо и имеют единственную командную кнопку ОК (например для вывода полученных результатов).
Примеры утверждения MsgBox:
- MsgBox "Это – окносообщений" (Рис.1)
- MsgBox "Это– окносообщений", 308, "Окно" (Рис.2).
Примечание: Тип 308 – это сумма 256, 48 и 4.
Синтаксис функции MsgBox:MsgBox (<сообщение> [ , тип][ , заголовок ])
При использовании MsgBox как функции, она выводит диалоговой окно и сообщает, какую кнопку нажал пользователь (возвращая соответствующее этой кнопке значение). Это важно, когда на диалоговом окне есть несколько кнопок. В качестве типа могут использоваться встроенные константы: VbOKOnly – кнопка OK, VbOKCancel – OK и Cancel (OK, Отмена), VbYesNo – Yes, No (Да, нет)
Окно ввода
Возвращаемым значением функции InputBox является любой текст, вводимый пользователем в текстовое поле отображаемого окна ввода.
Синтаксис:InputBox (<сообщение> [ , заголовок ]).
Если информация, которую нужно отобразить в окне ввода или сообщений, слишком длина, чтобы поместиться на одной строке, необходимо разбить ее на несколько строк. Для этого используется специальный символ, называемый символ перевода строки Chr(13).
Пример:
Для разбиения на несколько строк строки программы используется знак нижнего подчеркивания(_), при этом он не влияет на то, как строка отображается в диалоговом окне.
Операторы VBA и функции
Оператор |
Обозначение |
Описание |
Старшинство |
|
Оператор |
Обозначение |
Описание |
Старшинство |
Арифметический |
^ |
Возведение в степень |
1 |
|
Сравнения |
<= |
Меньше или равно |
9 |
- |
Знак минус |
2 |
|
>= |
Больше или равно |
9 |
||
* |
Умножение |
3 |
|
<> |
Неравенство |
9 |
||
/ |
Деление |
3 |
|
Like |
Соответствие строки шаблону |
9 |
||
\ |
Деление нацело |
4 |
|
Is |
Ссылка на один объект |
9 |
||
Mod |
Остаток от деления |
5 |
|
Not |
Нет |
9 |
||
+ |
Сложение |
6 |
|
Логический |
And |
Логическое "и" |
10 |
|
- |
Вычитание |
6 |
|
Or |
Логическое "или" |
11 |
||
& |
Конкатенация строк |
7 |
|
Xor |
Исключающее "или" |
12 |
||
= |
Равенство |
8 |
|
Eqv |
Эквивалентность |
13 |
||
|
< |
Меньше |
9 |
|
Imp |
Импликация |
14 |
|
> |
Больше |
9 |
|
|
|
|
|
Некоторые встроенные VBA-функции
Функция |
Описание |
|
Функция |
Описание |
Abs(x) |
Модуль |
|
Sin(x) |
Синус |
Atn(x) |
Арктангенс |
|
Sqr(x) |
Квадратный корень |
Cos(x) |
Косинус |
|
Tab(n) |
Табуляция вывода |
Exp(x) |
Экспонента |
|
Tan(x) |
Тангенс |
Int(x) |
Целая часть |
|
Asc(S) |
Код первого символа |
Log(x) |
Натур.логарифм |
|
Chr(x) |
Символ, чей код - Х |
Rnd |
Случайное число в интервале от 0 до 1 |
|
Isnumeric(S) |
True – еслиS является число False – в противном случае |
Sgn(x) |
Знак числа |
|
Oct(x) |
Строка – число в 8-ой СС |
Функция |
Описание |
|
Функция |
Описание |
Right(S,n) |
N символов справа |
|
Hex(x) |
Строка – число в 16-ой СС |
Space(n) |
Строка из n пробелов |
|
Instr(n,S1,S2) |
Вхождение S1 в S2 |
Str(x) |
Число х в виде строки |
|
Left(S,n) |
N символов слева |
Val(S) |
Число из строки S |
|
Len(S) |
Длина строки |
Trim(S) |
Удаление пробелов справа и слева |
|
Ltrim(S) |
Удаление пробелов слева |
Mid(S,i,n) |
Подстрока длиныn с местаi |
|
Rtrim(S) |
Удаление пробелов справа |