Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

Глава 9. Работа с процедурами VBA

263

“Не проще ли поместить вызываемую процедуру в вызывающую, упростив тем самым себе жизнь?”

Это делает программу более понятной. Чем проще программа, тем легче ее под­ держивать и изменять. Меньшие по размеру процедуры проще понять и отладить. Рас­ смотрим процедуру, которая лишь вызывает другие процедуры и не выполняет никаких других действий. Разобраться в ней очень легко.

Sub M a in ()

C a ll G e t U s e r O p t io n s

C a ll P r o c e s s D a t a

C a ll C le a n u p

C a ll C lo s e lt D o w n

End Sub

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

Кроме того, вы будете часто обращаться к процедурам универсального назначения. Сохранив их в отдельном модуле, вы сможете импортировать модуль в текущий проект, и при необходимости вызывать эти процедуры. Это значительно проще, чем копиро­ вать и вставлять код в новые процедуры.

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

Существует еще один способ вызвать процедуру в другой открытой рабочей книге — ис­ пользовать метод Run объекта Application. Этот метод не требует установки ссылки, но содержащая процедуру рабочая книга должна быть открыта. Следующий оператор вызывает процедуру Consol idatе,которая находится в рабочей книге budget macros .xlsm:

A p p lic a t io n . Run " 'b u d g e t m a c ro s . x l s m '! C o n s o lid a t e "

Выполнение процедуры по щелчку на объекте

Excel содержит ряд объектов, которые можно поместить на рабочем листе или листе диаграммы. Макрос допускается связывать с любым из них. Эти объекты делятся на сле­ дующие категории:

элементы управления ActiveX;

элементы управления формами;

• включенные объекты (фигуры, рисунки SmartArt, формы WordArt, диаграммы и рисунки).

Примечание

В раскрывающемся списке, вызываемом по команде Разработчик^Элемен­ ты управлениям Вставить (Developer^Controls^lnsert), находятся два вида элементов управления, которые можно вставлять на рабочий лист: элемен­ ты управления формами и элементы управления ActiveX. Элементы управ­ ления ActiveX подобны элементам управления, применяемым в пользова­ тельских формах (UserForm). Элементы управления формами были разра­ ботаны для версий Excel 5 и Excel 95, но они могут применяться и в более