VBA для тех кто любит думать


VBA и Office XP - часть 65


Так, если в заголовке функции указано, что первая переменная, передаваемая ей, имеет тип Integer, то та переменная, которая передается в функцию как первая (в последнем примере - "a"), должна быть определена именно как Integer до вызова функции (что мы и видим в этом примере). Если же в вышеприведенной программе переменная "а" определялась бы как Byte или Long, то возникла бы ошибка.

Перед заголовком функции или процедуры можно поставить инструкции Public или Private (для вышеприведенного примера - "Private Function uvelich(b As Integer, c As Integer) As Integer"). Функция или процедура, обьявленная как Public, может вызываться и из других модулей, в то время как функция или процедура, обьявленная как Private, доступна только из данного модуля.

По умолчанию все функции и процедуры считаются обьявленными как Public (а переменные, как нетрудно заметить - обьявленные как Private).

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

 

04_05.bmp

Рис. 4.5. Окно Стек вызова.

 

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

Главная процедура - собственно программа - не может иметь параметров (в ее заголовке должны стоять пустые скобки). Только таким процедурам можно назначать кнопки и сочетания клавиш для их вызова на выполнение, и только они будут присутствовать в диалоговом окне "Сервис - Макросы - Макросы". Это и понятно - ведь это окно не предусматривает возможности указывать параметры при запуске макросов, да и передавать параметр в сочетании клавиш весьма затруднительно.




Начало  Назад  Вперед



Книжный магазин