Преобразование
макросов в процедуры VBA
Если вы создали
много макросов, а потом решили перейти к программированию на VBA, не следует
беспокоиться о том, что придется заново переписывать на VBA все созданные макросы.
В Access существует возможность автоматического преобразования макросов в процедуры
на VBA. Это касается как макросов, связанных с событиями в формах и отчетах,
которые преобразуются в процедуры обработки событий, так и общих макросов, не
связанных с формами и отчетами. Все они преобразуются в отдельные стандартные
модули.
Давайте попробуем
преобразовать в процедуры обработки событий макросы, назначенные событиям формы
"Наклейки для клиентов" (Customers Labels Dialog):
Рис. 11.19.
Преобразование макроса в процедуру VBA
Рис. 11.20.
Процедура, полученная из макроса
В этой процедуре,
полученной из макроса, используются объект DoCmd для выполнения макрокоманды
закрытия формы. В соответствии с флажками, установленными в окне
Преобразование
макроса
(Convert Macro), комментарии в макросе были преобразованы в комментарии
в процедуре и был добавлен код обработки ошибки, который выдает на экран сообщение
об ошибке в случае ее возникновения
(см. гл. 13).
Аналогично
выполняется преобразование макросов, назначенных событиям отчета.
Теперь рассмотрим
преобразование в процедуру VBA макроса, не связанного с событием формы или отчета,
например созданного ранее макроса "Менеджеры по продажам".
Рис. 11.21.
Результат преобразования макроса "Менеджеры по продажам"
После преобразования
исходный макрос "Менеджеры по продажам" не был удален, а в списке
модулей в окне базы данных "Борей" появился новый модуль с именем
"Преобразованный макрос — Менеджеры по продажам" (Converted Macro
— Менеджеры по продажам).
Существует
еще один способ преобразования макросов в модуль VBA:
Рис. 11.22. Сохранение макроса в виде модуля