Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие по VBA.doc
Скачиваний:
28
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

Тема 2. Встроенные диалоговые окна.

В проекте VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода:

Окно сообщений MsgBox выводит простейшие сообщения для пользователей. Окно ввода InputBox - обеспечивает ввод информации.

Функция InputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки: ОК и Cancel, устанавливает режим ожидания ввода текста пользователем и нажатия кнопки, а затем возвращает значение типа String в переменную (по нажатию кнопки ОК). При нажатии кнопки Cancel возвращает пустую строку (Empty).

Синтаксис: InputBox (P[,T] [,D] [,X][,Y] [,H,C]]

Здесь P – строковое выражение, отображаемое как сообщение в диалоговом окне, может содержать несколько строк. Допускается символ возврата каретки (chr(13)), символ перевода строки (chr(10)) или комбинация этих символов..

T – строковое выражение, отображаемое в строке заголовка диалогового окна.

D – строковое выражение, отображаемое в поле ввода как используемое по умолчанию. Если этот параметр опущен, то поле ввода изображается пустым.

X – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот параметр опущен, то поле ввода выравнивается по центру экрана по горизонтали.

Y – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот параметр опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана.

H – Строковое значение, определяющее имя файла справки, содержащего сведения о данном диалоговом окне.

C – числовое выражение, определяющее номер раздела справочной системы.

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

MsgBox(P[,B] [,T] [,H,C])

Здесь P – строковое выражение, отображаемое как сообщение в диалоговом окне.

B – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Значение по умолчанию этого параметра равняется 0.

T – строковое выражение, отображаемое в заголовке диалогового окна. Если этот параметр опущен, то в строку заголовка пишется имя приложения.

H и C аналогично тому, как в операторе InputBox.

Значения параметра В (Button) процедуры MsgBox, определяющие отображаемые кнопки в диалоговом окне.

Константа

Отображаются кнопки

vbOKOnly

0

ОК

vbOKCancel

1

ОК, Отмена

vbAbortRetryIgnore

2

Стоп, Повтор, Пропустить

vbYesNoCancel

3

Да, Нет, Отмена

vbYesNo

4

Да, Нет

vbRetryCancel

5

Повтор, Отмена

Таблица 3. . Значения параметра В (Button) процедуры MsgBox, определяющие отображаемые информационные значки в диалоговом окне.

Константа

Значение

Значок сообщения

vbCritical

16

vbQuestion

32

?

vbExclamation

48

!

vbInformation

64

Таблица 4. Значения параметра В (Button) процедуры MsgBox, опре-деляющие основную кнопку диалоговом окне

Константа

Значение

Номер основной кнопки

vbDefaultButton1

0

1

vbDefaultButton2

256

2

vbDefaultButton3

512

3

vbDefaultButton4

768

4

Таблица 5. Значения, возвращаемые функцией MsgBox

Константа

Значение

Кнопка

vbOK

1

OK

vbCancel

2

Отмена (Cancel)

vbAbort

3

Прервать (Abort)

vbRetry

4

Повторить (Retry)

vbIgnore

5

Пропустить (Ignore)

vbYes

6

Да (Yes)

vbNo

7

Нет (No)

Оператор MsgBox удобен для вывода информации. Если требуется узнать, какое данное ввёл пользователь, то надо какой- либо переменной присвоить значение, возвращаемое MsgBox, а её параметры заключить в скобки.

Лабораторная работа 2. Использование процедур и операторов ввода и вывода.

Пример1. Компьютер спрашивает у пользователя, закончить ли счёт и отвечает или До свидания или Продолжим работу. Набираем в поле модуля код:

Листинг 1. Знакомство с оператором MsgBox.

Запускаем код на выполнение (Кнопка ► или пункт меню RUN).

Пример 2. Компьютер запрашивает информацию о пользователе и выдаёт некоторые сообщения.

Листинг 2. Процедуры Znakomstvo и Prodoljim.

В этой программе показано, как из одной процедуры происходит обращение к другой процедуре. Первая процедура называется Znakomstvo, а вторая процедура нызавается Prodoljim. Обращение из первой процедуры ко второй Prodoljim name, т.е. параметр name при обращении пишется без скобок.

В VBA предусмотрен объект Debug, который представляет отладчик и позволяет выводить данные в окно Immediate, вызываемое командой View/ Immediate/Window(или сочетанием клавиш Ctrl+G). Чтобы вывести значения в окно Immediate, надо использовать метод Print объекта Debug с указанием в качестве параметров имена требуемых переменных (константы и переменные можно перечислять через запятую). Если требуется, чтобы несколько операторов Debug выводило информацию на одной строке, то в конце оператора ставят точку с запятой.

Примеры.

Debug.Print a,b;

Debug.Print с,d

Значения переменных a, b ,c ,d будут напечатаны в окне Immediate в одной строке.

Листинг с работой оператора Debug:

Здесь в операторе Debug.Print используется знак &, который объединяет текст “ a(1) = “ и значение a(1).

Самостоятельная работа 2.

Задание1. Напечатать таблицу умножения чисел от 2 до 10.

Задание 2. Задан массив из чисел. Упорядочить элементы массива в порядке возрастания.

Задание 3. В столбце А имеются фамилии студентов группы. Упорядочить фамилии по алфавиту.