Вызов
макроса из процедуры VBA
Как мы уже
говорили, процедуры VBA и макросы в Access являются объектами близкими и часто
взаимозаменяемыми, т. е. вместо макроса можно использовать процедуру VBA и наоборот.
Существуют способы запуска макроса из процедуры VBA, запуска процедуры VBA из
макроса, кроме того, Access позволяет преобразовать макрос в процедуру VBA.
Такое преобразование описано в
разд. "Преобразование макросов в процедуры
VBA" данной главы.
Для запуска
процедуры VBA из макроса существует специальная макрокоманда ЗапускПрограммы(КипСоdе).
Эта макрокоманда имеет один аргумент — имя вызываемой процедуры, хотя вызываться
может только функция, а не подпрограмма.
Для запуска
макроса из процедуры VBA применяется специальный метод ЗапускМакроса (RunMacro)
объекта DoCmd, например:
DoCmd.RunMacro
"Макрос!".
Объект DoCmd
используется в процедуре VBA для выполнения макрокоманд Access. При этом английское
имя нужной макрокоманды должно быть указано в качестве Метода объекта DoCmd,
например строка процедуры
DoCmd.Openform
"Клиенты"
позволяет
открыть форму "Клиенты". Здесь "Клиенты"— аргумент макрокоманды.
Аргументы перечисляются в предложении DoCmd через запятую. Таким способом может
быть выполнено большинство макрокоманд.
Создание процедур VBA мы рассмотрим ниже, в гл. 13.