Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава19.docx
Скачиваний:
3
Добавлен:
25.08.2019
Размер:
2.42 Mб
Скачать

Глава 19. Инструментальные средства пользователя в среде microsoft office

Процедуры имеют стандартное оформление: Sub <имя_процедуры> (аргументы)

т ело процедуры (операторы)

E nd Sub

Оператор Sub — объявление процедуры, задается имя, указывается состав аргумен­тов, передаваемых при вызове процедуры из программы. Каждому оператору Sub оби т-тельно соответствует End Sub.

Тело процедуры — набор последовательно выполняемых операторов на языке VBA.

В программе можно не только использовать процедуры данного программного mo.iv. ля, но и ссылаться на процедуры других модулей текущей рабочей книги, а также процеду­ры других рабочих книг. Для этого необходимо задать ссылки; при нахождении на рабочем листе модуля выполняется команда СЕРВИС, Ссылки. В диалоговом окне «Ссылки ■'■• (рис. 19.22) показан список доступных ссылок на библиотеки или другие рабочие книги.

Рис. 19.22. Диалоговое окно

для подключения

программных модулей

и их процедур

Для установления новых ссылок необходимо нажать кнопку <Пролистать> и вызвать диалоговое окно для выбора диска, каталога и файла, содержащего процедуры, на которые возможны ссылки из данного программного модуля. Доступность процедур определенного программного модуля или библиотеки указывается с помощью переключателя. Различают 4 типа процедур:

процедуры общего назначения (стандартные), как правило, не вносят изменений вне себя;

командные процедуры расширяют возможности прикладных программ, реализуя но­вые виды обработки;

процедуры обработки событий выполняются при наступлении событий определен­ного вида (например, открытие или закрытие электронной таблицы Excel, нажатие кнопки, перемещение объекта и т.п.);

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

W.2. СОЗДАНИЕ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ VISUAL BASIC FOR APPLICATIONS

699

1. Из другой процедуры того же модуля вызов осуществляется по имени процедуры

'вызывающая процедура Ргос_А () 'вызов процедуры Ргос_В() 'Завершение работы процедуры Ргос_А () 'вызываемая процедура 'Завершение работы процедуры Ргос_В()

2. Из другой процедуры другого (подключенного) модуля вызов осуществляется по имени модуля, имени процедуры (в пределах одного приложения)

'вызывающая процедура Ргос_А ()

'вызов процедуры Ргос_В() модуля Модуль#

'Завершение работы процедуры Ргос_А ()

3. Из другого приложения (другой рабочей книги ППП Excel 5.0) — вызов осущест­вляется по имени модуля, имени процедуры и имени рабочей книги

'вызывающая процедура Ргос_А ()

'вызов процедуры Ргос_В() модуля 'Модуль# рабочей книги RW1.XLS

'Завершение работы процедуры Ргос_А ()

Примечание. Если в нескольких рабочих книгах имеется ряд процедур с опре­деленным именем, следует указать имя файла рабочей книги и имя модуля в этой книге при вызове процедуры.

Чтобы предотвратить доступ к процедуре из других модулей, процедуру делают частной. Для этого в операторе процедуры следует указать:

Private Sub Proc_B () End Sub

Для защиты модуля рабочей книги от доступа к нему из процедур другой рабочей книги в начале модуля указывают: Option Private Module

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

В теле процедуры могут быть объявлены внутренние переменные, которые не являют­ся предметом обмена с вызывающей процедурой, такие переменные не могут изменяться вне пределов вызываемой процедуры.

700