Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1к 1семестр / INFORMATIKA / Lekcii / Лекции / ЛЕКЦИЯ_13_Программирование на языке Visual Basic for Applicatin.doc
Скачиваний:
97
Добавлен:
02.04.2015
Размер:
1.12 Mб
Скачать

Процедуры vba

Процедура — именованный набор описаний и инструкций VBA, оформленных в виде программного модуля. Различают следующие типы процедур: подпрограмма Sub, функция Function, свойство Property.

Подпрограмма Sub

Подпрограмма Sub — набор инструкций для реализации алгоритма обработки данных2. Процедура-подпрограмма Sub имеет структуру :

Sub имя ([аргументы])

Инструкции

Exit Sub

Инструкции

End Sub

Аргументы позволяют передавать в процедуру требуемые значения. Процедура не может содержать внутри себя другую процедуру, модуль может содержать несколько процедур. Оператор Exit Sub обеспечивает немедленный выход из подпрограммы.

Вызов процедуры Sub из другой процедуры выполняется с помощью инструкции:

Call имя {[параметры]}

Можно не указывать оператор Call, если в описании процедуры Sub используется список аргументов, то ее вызов осуществляется с помощью списка параметров, заменяющих эти аргументы. Если аргументов больше 1 и используется оператор Call, аргументы заключаются в круглые скобки.

Функция Function

Функция Function — набор инструкций, обеспечивающий выполнение обработки и возврат значения определенного типа (число, текст, логическое и т.п.).

Функции используются в вычисляемых выражениях, имеют структуру:

Function имя ([аргументы]) [As тип]

Инструкции

имя = выражение

[Exit Function]

Инструкции

End Function

Параметр As тип позволяет явно задать тип данных, который возвращает функция. Одна из инструкций должна присвоить вычисленное значение имени функции (имя = выражение). Оператор Exit Function обеспечивает немедленный выход из функции. Нельзя включать процедуру функцию в состав процедуры подпрограммы или другой функции. Вызов Function выполняется по аналогии со встроенными функциями; при построении выражений соответствующие пользовательские функции доступны для выбора.

Процедура Property — набор инструкций, обеспечивающий обработку свойств объекта.

Функции ввода-вывода данных и сообщений

Ввод-вывод данных и сообщений относится к наиболее часто используемым инструкциям. Встроенные функции VBA обеспечивают ввод-вывод сообщений или данных в интерактивном режиме работы приложения.

Функция MsgBox

Функция MsgBox выводит диалоговое окно, содержащее сообщение пользователю. Осуществляется вывод сообщения и значения переменной, свойства объекта; предлагается на выбор нажатие одной из кнопок, код которой запоминается.

Синтаксис функции MsgBox:

MsgBox(prompt[, buttons][,title][,helpfile,context])

prompt — обязательный параметр, строка текста, выводимая в качестве сообщения пользователю, максимальная длина текста — 1024 символа; для разделения строк можно вставлять аналог символов-разделителей Chr(13) — перевод каретки, Chr(10) – заполнитель строки или их комбинации;

buttons – числовой эквивалент типа кнопки, графического значка окна, а также кнопки, используемой по умолчанию. Задается как сумма числовых значений элементов (табл. 13.4);

titleтекст заголовка диалогового окна;

helpfile – имя файла справки;

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

Функция MsgBox с двумя и более аргументами используется только в выражениях. Если какие-либо аргументы функции отсутствуют, ставятся запятые.

Таблица 13.4

Кнопка

Значение

Описание

VbOKOnly

0

Кнопка OK

VbOKCancel

1

Кнопки OK, Отмена

Продолжение таблицы 13.4

vbAbortRetryIgnore

2

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

VbYesNoCancel

3

Кнопки Да, Нет, Отмена

VbYesNo

4

Кнопка Да, Нет

VbRetryCancel

5

Кнопка Повтор, Отмена

VbCritical

16

Кнопка ОК и значок критического сообщения

VbQuestion

32

Кнопка ОК и значок предупреждения (вопроса)

vbExclamation

48

Кнопка ОК и значок восклицания

vbInformation

64

Кнопка ОК и значок информационного сообщения

vbDefaultButton1

0

Выбор первой кнопки по умолчанию

vbDefaultButton2

256

Выбор второй кнопки по умолчанию

vbDefaultButton3

512

Выбор третьей кнопки по умолчанию

vbDefaultButton4

768

Выбор четвертой кнопки по умолчанию

vbApplicationModal

0

Модальное окно, пользователь должен ответить на сообщение для продолжения работы

vbSystemModal

4096

Системное модальное окно, приостановка всех приложений до получения ответа от пользователя

vbMsgBoxHelpButton

16384

Кнопка Справки

VbMsgBoxSetForeground

65536

Выводит окно сообщений

vbMsgBoxRight

524288

Текст выровнен вправо

vbMsgBoxRtlReading

1048576

Вывод текста справа налево

Пример 4

Запрос на продолжение работы (рис. 13.1). Код нажатой кнопки присвоить переменной Response.

Рис.13.1

Фрагмент программного кода:

Msg = "Продолжить работу?"

button = vbYesNo + vbCritical + vbDefaultButton2

' Критическое сообщение, по умолчанию — кнопка Нет

Title = "Пример функции MsgBox"

Response = MsgBox(Msg, button, Title)

Msgbox Response ’вывод кода нажатой кнопки

В другом варианте использования функции MsgBox значение кода нажатой кнопки не присваивается переменной. Диалоговое окно содержит три кнопки (рис. 13.2).

Рис. 3.2. Диалоговое окно функции Msgbox (3 кнопки)

Фрагмент программного кода:

MsgBox «Строка текста для вывода», vbQuestion + _ vbAbortRetryIgnore, «ОГЛАВЛЕНИЕ»