- •8. Visual basic for applications
- •8.1. Основные понятия языка vba
- •Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет, положение на экране или состояние (доступность, видимость). Для изменения характеристик меняют его свойства:
- •8.2. Создание функций пользователя
- •8.3. Встроенные типы данных
- •8.4. Переменные
- •8.5. Массивы переменных
- •8.6. Объявление констант
- •8.7. Операции языка vba
- •8.8.Встроенные функции vba
- •8.10.4 Операторы управления
- •Select Case KeyKode
- •End Select
- •8.10.5. Операторы повтора
- •Dim a As Variant
- •MsgBox “Победили на броске” & cStr(Бросок)
- •1 Вариант:
- •2 Вариант:
- •8.11. Встроенные диалоговые окна
- •8.11.1. Окно ввода информации
- •8.11.2. Встроенные диалоговые окна для обмена сообщениями
- •MsgBox ((Prompt[,Buttons] [,Title] [,Helpfile, Context])
- •8.11.3. Диалоговые окна пользователей
8.11.2. Встроенные диалоговые окна для обмена сообщениями
Они бывают нескольких типов.
А) Простое окно-сообщение
Пример: MsgBox (“Строка сообщения”)
Б) Функция MsgBox – выводит на экран ДО с сообщением, устанавливая режим ожидания нажатия кнопки пользователя.
MsgBox ((Prompt[,Buttons] [,Title] [,Helpfile, Context])
Prompt – строковое сообщение в ДО
Buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых в ДО кнопок: 0 – ОК+отмена; 2 – стоп + повтор + пропустить; 3 – да + нет + отмена; 4 – да + нет; 5 – повтор + отмена.
Остальные пункты команды, как в InputBox.
Кроме кнопок можно отображать значки:
16 – – белый на сером;
48 – – черный на светло сером;
Перед рисунком указан код этих значков.
Пример. Использование окна с кнопками Да, Нет, Отмена.
Sub Три_кнопки ()
Dim Сообщение As String: Dim Кнопкa As Integer
‘В Переменной сообщение задаётся структура ДО
Сообщение = vbYesNoCancel + vbQuestion + vbDefaultButton1
‘Кнопка возвращает число при нажатии кнопки
Кнопка = MsgBox (“Выберите Да, Нет, или Отмена?”, Сообщение, “Ещё пример”)
‘В зависимости от полученного значения будет одно из сообщений из Select Case:
Select Case Кнопка
Case vbYes: MsgBox “Выбрали Да”,vbInformation, “Еще пример”
Case vbNo: MsgBox “Выбрали Нет” vbInformation, “Еще пример”
C
Значение
случайного числа. 1445231 Microsoft
Excel
End Select
End Sub
Пример. Использование в программе.
Sub Msg_Priim()
D
OK
Randomize
a=rnd()
MsgBox “Значение случ. числа” &cstr(a) Рис. 62. Окно вывода результата
End Sub
Пример. Ввод значения.
x= InputBox(“Введите х”, “Пример”) : y=x^2
Для вывода в окне командной кнопки используются коды, приведённые в табл. 6.
Таблица 6
Коды командных кнопок и пиктограмм
Код |
Константа |
Описание |
0 1 2
3 4 5 |
vb OK Only vb OK Cancel vb AbortRetryIgnore
vb YesNoCancel vb YesNo vb RetryCancel |
Коды командных кнопок: OK OK, Отмена Прекратить, Повторить, Игнорировать Да, Нет, Отмена Да, Нет Повторить, Отмена |
0 256 512 |
vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 |
Коды активности по умолчанию Активная первая Активная вторая Активная третья |
16 32
48
64 |
vbCritical vbQuestion
vbExclamation
vbInformation |
Коды пиктограмм Важное сообщение Предупредительный запрос (справка) Предупредительное сообщение Информационное сообщение |
0
4096 |
vbApplicationModal
vbSystemModal |
Коды модальности Программное модальное описание (требуется обязательный ответ, работа приложения приостанавливается) Системное модальное описание (требуется обязательный ответ – работа всех приложений приостанавливается) |
Рассмотрим пример использования этих кодов (рис. 63).
Пример. Использование кодов кнопок.
Option Explicit
Sub Msg_Priim()
Dim Response As Integer:Dim Msg As String
Dim Title As String
Dim Help As String
Dim Style As Integer
Dim Ctxt As Integer
Msg= «Вы хотите продолжить?»
Style = 35’vbYesNoCancel+ vbDefaultButton1+ vbQuestion
Title=”Пример окна сообщения” ‘ (Заголовок окна)
Help = “DEMO.HLP” ‘Имя файла-подсказки
Ctxt = 0 ‘Номер контекста внутри файла-подсказки
Response = MsgBox ( Msg; Style; Title; Help; Ctxt ) ‘ присвоение
‘ переменной кода ответа
End Sub
Они обеспечивают ввод и редактирование данных файлов и таблиц. Для создания ДО выполнить команду:
Вставка/ Макрос/ Диалог – тип вставляемого листа.
На экране есть панель инструментов Формы для размещения и настройки элементов окна и основа для построения ДО пользователя.
Рис. 63. Окно вывода с кнопками