Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Введение

Язык Visual Basic for Application (VBA) – объектно-ориентированный язык программирования, базируется на командах и синтаксисе языка Basic. VBA встроен в офисную среду и позволяет манипулировать объектами всех популярных приложений.

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

Все офисные приложения представляют собой совокупность готовых объектов со своими свойствами, методами и событиями. По мере развития офисных систем появляются новые объекты управления, сложность их взаимозависимостей увеличивается. Но принципы разработки приложений остаются прежними – VBA манипулирует объектами приложения, используя методы и свойства объектов.

Чаще всего основным документом, вокруг которого пользователь строит свое приложение, является MS Excel. Поэтому настоящее пособие посвящено программированию именно для этого офисного пакета.

Примеры процедур, снимки диалоговых окон, приведенные в пособии, выполнены в среде MS Office 2000 и MS Office 2003. Процедуры могут без изменений выполняться и в любой более поздней версии MS Excel.

Раздел 1.Быстрый старт Использование макрорекордера

Для разработки программ используются два способа – макрорекордер и редактор VB. Инструментальное средство Macrorecorder (Макрорекордер) отслеживает действия, пользователя, выполняемые при помощи команд меню или клавиатурных эквивалентов ("горячих" клавиш), генерирует и записывает соответствующие макрокоманды до тех пор, пока пользователь не остановит процесс записи. В результате создается программа (макрос), которая дает тот же эффект, что и выполненные действия. Это позволяет автоматизировать процессы обработки данных, проводимые командами меню, неоднократно выполняя записанную программу.

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

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

  • какие действия должен выполнять макрос;

  • какие предварительные действия должны быть выполнены перед запуском макроса (открытие файла, активизация листа, выделение интервала ячеек, режим работы приложения и пр.) 1;

  • какие действия необходимо выполнить после завершения работы макроса.

Если в процессе записи макроса была допущена ошибка, то можно отменить последние команды (Правка-Отменить) или повторить запись некоторых команд. Макрорекордер несколько модифицирует действия пользователя: не фиксирует отмененные вызовы команд, объединяет в один оператор несколько одинаковых последовательно выполненных действия, например, перемещения по таблице.

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

Сочетание макрорекордера и редактора VB позволяет создать канву программы, включить в нее операторы обработки объектов MS Excel, организовать интерактивный режим работы, предусмотреть использование собственных меню и панелей инструментов.

Важно

  • Макрорекордер особенно полезен для записи действий по обработке объектов, так как помогает получить представление об имеющихся у объекта свойствах и методах и способах их применения.

  • Для получения контекстной справки по любому объекту, свойству или методу достаточно выделить его в процедуре и нажать клавишу F1.

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

Действия пользователя при использовании макрорекордера

Действия

Команды меню или функциональные клавиши

Пиктограмма

Содержание статусной строки

Начать запись макроса

Сервис-Макрос-Начать запись (Tools-Record Macro-Record New Macro)

Запись (Recording)

Остановить запись макроса

Сервис-Макрос-Остановить запись (Tools-Record Macro-Stop Macro)

Готово (Ready)

Редактировать макрос

Alt+F11

Выполнить макрос

Сервис-Макрос-Макросы (Tools-Macro-Macros)

Сохранить макрос

Макрос автоматически сохраняется в составе рабочей книги. Возможно сохранение в Личной книге Макросов (Personal.xls), которая находится в папке Xlstart

Советы

  • Не записывайте макрорекордером слишком большие макросы. Всегда можно объединить несколько макросов в одну процедуру или записать в макросе оператор вызова другого макроса.

  • Добавляйте комментарии к командам макроса.

  • Помните, что все действия, касающиеся макрорекордера, выполняются только для рабочего или диаграммного листа, но не для редактора VB.

  • При использовании макрорекордера пользуйтесь абсолютными или относительными ссылками на ячейки в соответствии с необходимостью.