Использование окон сообщений

Когда вы создаете макросы в VBA, вы можете легко включить использование окон сообщений. Обычно они используются для передачи информации пользователю и для получения элементарного ввода. Вы включаете окна сообщений с помощью команды MsgBox. Следующая часть макроса создает очень простое окно сообщения:

MsgBox «Макрос готов»

Вы также можете добавлять символы в окна сообщений, включая один код типа символа как часть вашего вызова MsgBox. Эти символы широко используются во многих диалоговых окнах Windows. Могут использоваться следующие четыре типа символов:

Тип

Symbol

16 Знак остановки
32 Знак вопроса в круге
48 Восклицательный знак в круге
64 Информационный символ (нижний регистр i в круге)

В качестве примера предположим, что вы хотите включить символ восклицательного знака. Обычно это включается в диалоговые окна как уведомление о том, что что-то важное произошло или вот-вот должно произойти. Чтобы включить этот символ в окно сообщения, вы должны включить следующий код макроса:

MsgBox «Невозможно запустить этот макрос для этого текста», 48

Итак На данный момент команда MsgBox использовалась как оператор, но вы также можете использовать ее как функцию. Если вы это сделаете, вы можете использовать его, чтобы получить простой ввод от пользователя. Чтобы сделать функцию MsgBox более полезной, Excel позволяет отображать в диалоговом окне больше интерактивных кнопок, помимо кнопки ОК. Это делается путем настройки кода типа, который использовался для символов, отображаемых в окне сообщения. Ниже приведены различные комбинации кнопок, которые можно отобразить в окне сообщения:

Тип

Типы кнопок

1 ОК, Отмена
2 Abort, Retry, Ignore
3 Да, Нет, Отменить
4 Да, Нет
5 Retry, Cancel

Чтобы использовать кнопки, вы просто добавляете значение типа кнопки к значению, которое вы хотите использовать для символа. В предыдущем примере вы использовали код 48 для отображения символа восклицательного знака. Если вы хотите также включить кнопки «Прервать», «Повторить попытку», «Игнорировать», вы просто измените код на 50, то есть 48 (код символа) плюс 2 (код кнопки).

При использовании кнопок таким образом функция MsgBox возвращает значение, указывающее, какую кнопку выбрал пользователь. Кнопки возвращаются слева направо: -1, 0 и 1. Таким образом, если вы используете код кнопки 3, то -1 будет означать, что пользователь выбрал Да, 0 означает Нет, а 1 означает Отмена.

Источник: frestage.ru

Бытовой вопрос