Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_5 / Использование Visual Basic for Applications / Использование Visual Basic for Applications.doc
Скачиваний:
89
Добавлен:
23.02.2015
Размер:
731.65 Кб
Скачать

5.2.2. Функции

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

Function Имя_функции (Список формальных параметров) _

[As тип_возвращаемого_значения]

Тело функции, включающее в себя инструкцию

Имя_функции = какое-то выражение

End Function

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

В отличие от процедур для функций можно использовать такое выражение присваивания:

Переменная = Имя_функции Параметр1 Параметр2 Параметр3

.

Повторим наш пример с вычислением площади, однако используем на этот раз функцию.

Function Area ( ByVal A As Single, ByVal B As Single) As Single

Area = A*B End Function

Как уже было упомянуто выше, функции, включенные в объекты, называются методами. Вызов метода синтаксически практически идентичен вызову функции. В следующем примере вызывается метод Save (закрыть) текущего документа: ThisDocument.Save.

Передача параметров в методы осуществляется точно так же, как и в функции. Следующий пример показывает вызов метода SaveAs с одним параметром: ThisDocument.SaveAs "C:\\test.doc".

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

Word.Documents.Open("C:\\test.doc").FullName.

5.2.3. Функции MsgBox и DialogBox

Для облегчения диалога с пользователем в VBA предусмотрены две стандартные функции диалога: MsgBox и DialogBox. Эти функции создают и выводят на экран окна с заданными свойствами.

Первая функция предназначена для вывода сообщений пользователю и имеет синтаксис MsgBox ( сообщение [, кнопки][,заголовок][, файл справки, раздел справки] ). Единственный обязательный аргумент сообщение – это строка, которая выводится в окне. Числовая константа кнопки определяет, какие кнопки и значки будет содержать окно. Ее возможные значения приведены в табл. 3.

Таблица 3

Описание числовых констант

Название константы

Значение

Описание

vbOKOnly

0

Показывает только кнопку OK

vbOKCancel

1

Показывает кнопки OKиCancel

vbAbortRetryIgnore

2

Показывает кнопки Abort,RetryиIgnore

vbYesNoCancel

3

Показывает кнопки Yes,NoиCancel

vbYesNo

4

Показывает кнопки YesиNo

vbRetryCancel

5

Показывает кнопки RetryиCancel

vbCritical

16

Показывает значок критической ошибки

vbQuestion

32

Показывает знак вопроса

vbExclamation

48

Показывает восклицательный знак

vbInformation

64

Показывает информационный значок

vbDefaultButton1

0

Назначает первую кнопку кнопкой по умолчанию

vbDefaultButton2

256

Назначает вторую кнопку кнопкой по умолчанию

vbDefaultButton3

512

Назначает третью кнопку кнопкой по умолчанию

vbApplicationModal

0

Запускает окно диалога, которое приостанавливает выполнение текущей программы, пока пользователь не закроет его

vbSystemModal

4096

Запускает окно диалога, которое приостанавливает выполнение всех программ, пока пользователь не закроет его

vbMsgBoxHelpButton

16384

Показывает кнопку Help, которая вызывает раздел справки, если таковой установлен в параметрах

Для того чтобы, например, оформить окно с кнопками Yes, No и Cancel, а также с восклицательным знаком, в переменной кнопки следует записать: vbYesNoCancel + vbExclamation или 3 + 48 или 51.

Свойство Заголовок определяет заголовок (свойство Caption) окна, а остальные два позволяют подключать файл справки. Первый из этих параметров задает местонахождение файла справки, а второй – индекс раздела справки, являющийся целым числом. MsgBox возвращает результат, определяя, какая кнопка окна была нажата. Результаты нажатия кнопки приведены в табл. 4.

Таблица 4

Возвращаемый результат диалога

Название возвращаемой константы

Значение

Нажата кнопка

vbOK

1

OK

vbCancel

2

Cancel

vbAbort

3

Abort

vbRetry

4

Retry

vbIgnore

5

Ignore

vbYes

6

Yes

vbNo

7

No

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