Как уже говорилось, VBA – это объектно-ориентированный язык программирования. В свое время он был разработан специально для записи макросов в Microsoft Excel 5.0. Затем он начал использоваться и другими приложениями Microsoft Office, в частности Access. Сейчас VBA стал стандартным языком макропрограммирования, что очень полезно, так как облегчает взаимодействие различных приложений. VBA позволяет записать не только последовательные действия, выполняемые пользователем, но и все необходимые для языка программирования высокого уровня элементы, включая разнообразные средства организации ветвлений, циклов и ведения диалога с пользователем. Кроме того, VBA – это язык, управляемый событиями, поэтому с его помощью можно установить требуемую реакцию объекта на определенное событие.
Начнем эту главу с краткого обзора основных положений VBA.
Базовые термины
Вначале рассмотрим наиболее важные термины VBA (см. табл. 12.1).
Таблица 12.1
Объектно-ориентированный язык VBA базируется на трех основных компонентах: объектах, событиях и методах.
Объекты, как уже неоднократно говорилось, представляют собой элементы, входящие в состав приложений: таблицы, формы и их элементы управления, отчеты, запросы и т. д. События подробно рассматривались в предыдущей главе.
Последним компонентом являются методы. Для каждого объекта определен набор методов, которые могут быть к нему применены. Метод представляет собой действие, например Перейти на запись, Применить фильтр, Открыть форму.Такие действия указываются в установках свойств события объекта. Если пользователь не определил свойство события для объекта (не связал его с каким-либо действием), то объект отвечает на событие действием, заданным для его типа по умолчанию. Например, если текстовое окно получает фокус и не определено свойство события Получение фокуса,то встроенный метод может изменить цвет этого окна. Если вы установили свойство события объекта для макроса или процедуры обработки события, то Access сначала обрабатывает встроенный режим, а затем выполняет заданный вами макрос или процедуру. Например, вы щелкаете по командной кнопке, которая активизирует вторую страницу формы. Отображается щелчок по кнопке – кнопка на экране на мгновение «утапливается» (поведение по умолчанию), затем выполняется переход к следующей странице формы.
Окно модуля
Программа VBA создается, редактируется и отображается в окне модуля. Такое окно для класса, связанного с формой или отчетом, можно открыть либо из окна базы данных, когда объект закрыт, либо из окна объекта в режиме конструктора. Чтобы открыть окно модуля, надо выполнить одно из перечисленных действий:
1. В окне базы данных выберите имя формы или отчета на соответствующих вкладках Формыили Отчеты.
2. Выберите позицию Программав меню Видили щелкните по кнопке
(Программа) на панели инструментов.
На экране появится окно модуля VBA (рис. 12.1), разделенное на две области.
Рис. 12.1
Левая область – окно свойств. В верхнем поле этой области показано, свойства какого элемента программы здесь представлены. Если вы выходили в окно модуля непосредственно из окна базы данных, то будут представлены свойства формы или отчета в целом. Если вы попали в окно модуля из конструктора форм или отчетов, будут представлены свойства того элемента управления, который был активизирован перед переходом в окно модуля. Щелкнув по стрелке прокрутки справа от этого поля, вы легко можете перейти в любой элемент управления, и в левой области появятся его свойства. Свойства могут быть отсортированы в алфавитном порядке – вкладка Алфавитный– или разбиты по разделам – вкладка Категории: Данные, Событие, Другие.С таким способом отображения информации вы уже встречались при работе с конструкторами (см., например, рис. 10.2). Разделы, содержащие свойства, могут сворачиваться или раскрываться с помощью значков плюса (+) и минуса (-), расположенных слева от названия раздела.
Кроме того, в левой области вы можете соотнести какое-либо свойство с макросом или процедурой обработки событий. Но поскольку здесь отсутствует полоса прокрутки и нельзя использовать списки, имена макросов и процедур надо вносить с клавиатуры, что неудобно.
В окне правой области отображается полный текст программы, связанной как с активным элементом управления, так и выбранным свойством. Конкретное значение этой пары задается в верхних полях области – в левом верхнем поле вы можете указать элемент управления, в правом – свойство. Тогда в нижнем окне правой области появится текст процедуры, определенной данным сочетанием. Если такая программа отсутствует, то отображаются две строки – открывающая процедуру Private Sub с аргументами и закрывающая End Sub.
Читать дальше
Конец ознакомительного отрывка
Купить книгу