Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
176.75 Кб
Скачать

Приступая к работе с Visual Basic for Applications

Чтобы быстрее и эффективнее изучить Visual Basic for Applications, необходимо придерживаться следующих рекомендаций:

  • Начните с изучения Microsoft Excel. Большинство процедур Visual Basic выполняет определенную последовательность действий в Excel, а большая часть операторов этих процедур эквивалентна командам или операциям Excel. Поэтому работа с VBA в какой-то степени сходна с работой в Excel без пользовательского интерфейса – вместо выбора из меню или диалоговых окон пользователь пишет команды на Visual Basic. Кроме того, хорошо зная инструменты Excel, можно создавать более эффективные макросы. Нет необходимости писать длинные макросы для операций, выполняемых одной командой Excel.

  • Изучайте только те средства, которые нужны сейчас для решения текущих задач. От изобилия возможностей Visual Basic многие поначалу просто теряются, особенно если у них нет опыта программирования. Лучший способ освоить Visual Basic – решать конкретные задачи. Постепенно, набирая опыт в автоматизации различных операций, можно освоить все богатство возможностей Visual Basic.

  • Используйте средство записи макрокоманд. Средство записи макросов позволяет генерировать инструкции Visual Basic практически для всех выполняемых в Excel операций. С его помощью вы поймете, как команды Excel преобразуются в инструкции Visual Basic, и наоборот. Кроме того, запись фрагмента макроса зачастую проще, чем создание его вручную.

  • Используйте справочную систему Visual Basic. Справочная система – мощный инструмент для освоения Visual Basic. Открыв какой-нибудь модуль на Visual Basic, можно ввести ключевое слово, установить на него курсор ввода и нажать клавишу F1. В итоге появится справка по этому ключевому слову. Большая часть таких справочных разделов включает примеры кода, которые можно скопировать в буфер обмена и вставить в свою программу.

Введение в Visual Basic for Applications

Разработка программного кода на языке Visual Basic for Applications выполняется практически полностью в редакторе VBA.

Код макроса — текстовое представление инструкций. Весь код макроса, связанный с рабочей книгой, размещается в проекте, автоматически сохраняемом в специальной части файла данных Excel. Таким образом, любой проект связан с некоторым документом. Следовательно, если требуется просмотреть проект, необходимо открыть в Excel связанный с ним документ.

В состав проекта могут входить объекты приложения, с которыми связаны события, формы (пользовательские диалоговые окна), стандартные модули. Тексты создаваемых макросов, не связанных с обработкой событий, должны храниться в модуле. Каждый файл рабочей книги Excel может не содержать модулей или содержать один или несколько модулей.

Модули

Итак, программа на языке VBA, которая лежит в основе макроса, располагается в рабочей книге Excel на специальном листе, называемом листом модуля VBA. На каждом из модулей может находиться произвольное число макросов.

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

Когда Excel создает модуль, в котором сохраняется записанный макрос, модулю присваивается имя ModuleN, где N — это количество модулей, созданных для определенной рабочей книги во время текущего сеанса работы. Например, в первый раз, когда вы сохраняете записанный макрос в Personal.xls (личной книге макросов), Excel создает модуль с именем Module1. Если вы продолжаете записывать макросы в том же сеансе работы и сохранять их в Personal.xls, Excel продолжает сохранять записанные макросы в том же модуле Module1 до тех пор, пока вы не выберете другую рабочую книгу. Если позже в том же сеансе работы вы опять захотите сохранить записанные макросы в Personal.xls, Excel добавляет другой модуль с именем Module2 в эту книгу.

Если какая-либо рабочая книга уже содержит модуль с тем же именем, что выбран в Excel для нового модуля, Excel увеличивает число в имени модуля до тех пор, пока имя нового модуля не будет отличаться от имен существующих модулей. Например, если вы начнете новый сеанс работы в Excel и затем захотите сохранить записанный рекордером макрос в книге Personal.xls, Excel сначала выбирает имя Module1 для нового модуля. Если же книга Personal.xls уже содержит модули с именами Module1 и Module2, Excel увеличивает число в имени модуля, чтобы оно не совпадало с существующими именами; новый модуль получает имя Module3.