Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_VBA.doc
Скачиваний:
12
Добавлен:
27.03.2016
Размер:
164.35 Кб
Скачать

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

ase vbCancel: MsgBox “Выбрали Отмена”, vbInformation, “Еще пример”

End Select

End Sub

Пример. Использование в программе.

Sub Msg_Priim()

D

OK

im a As Single

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. Окно вывода с кнопками