- •Л.В. Рыбакова Основы программирования в среде Visual Basic for Application (vba)
- •Содержание
- •1. Пользовательский интерфейс vba 5
- •2. Разработка программного кода 18
- •3. Объектно-ориентированное программирование на vba 100
- •Введение
- •1. Пользовательский интерфейс vba
- •1.1 Особенности среды программирования
- •1.2 Запуск vba
- •1.3 Структура редактора Visual Basic
- •1.3.1 Окно проекта Project-vbaProject
- •1.3.2 Окно редактирования кода
- •1.3.3 Окно редактирования форм
- •1.3.4 Окно свойств “Properties”
- •1.3.5 Окно панели элементов управления (Toolbox)
- •Контрольные вопросы
- •2. Разработка программного кода
- •2.1 Структура проекта vba
- •2.2 Пользовательские подпрограммы-функции
- •2.3 Пользовательские подпрограммы-процедуры
- •2.4 Данные и их описание
- •2.4.1 Алфавит и лексемы языка
- •2.4.2 Переменные и константы
- •2.4.3 Объявление переменных
- •2.4.4 Объявление констант
- •2.4.5 Строковые переменные
- •2.4.6 Области видимости переменных и констант
- •2.4.7 Типы данных
- •2.5 Функции в vba
- •2.5.1 Математические встроенные функции
- •2.5.2 Математические функции, не представленные в vba
- •2.5.3 Функция форматирования данных
- •2.5.4 Функции преобразования типов
- •2.6 Операторы, выражения и операции
- •2.6.1 Операция присваивания
- •2.6.2 Математические операции
- •2.6.3 Операции отношения
- •2.6.4 Логические операции
- •2.6.5 Строковые операции
- •2.7 Отладка программ и обработка ошибочных ситуаций
- •2.7.1 Отладка
- •2.7.2 Точки останова (контрольные точки)
- •2.7.3 Наблюдение за данными с помощью просматриваемых значений
- •2.7.4 Пошаговое выполнение программы
- •2.7.5 Обработка ошибок
- •Программирование алгоритмов линейной структуры
- •2.8 Условный оператор
- •Программирование алгоритмов разветвляющейся структуры
- •2.9 Оператор выбора (переключатель)
- •Программирование алгоритмов ветвлений со многими вариантами
- •2.10 Операторы цикла
- •2.10.1 Циклы с параметром For … Next
- •2.10.2 Циклы с условием (итерационные)
- •Программирование алгоритмов циклической структуры
- •Варианты индивидуальных экономических задач
- •2.11 Табулирование функции
- •2.11.1 Табулирование функции одной переменной
- •2.11.2 Табулирование функции двух переменных (вложенные циклы)
- •Разработка процедур для табулирования функции
- •2.12 Массивы
- •2.12.1 Объявление массива
- •2.12.2 Динамические массивы
- •2.12.3 Действия над массивами
- •2.12.4 Действия над элементами массива
- •2.12.5 Формирование массива
- •2.12.6 Одномерные массивы
- •Создание процедур для обработки последовательности
- •2.12.7 Двумерные массивы. Вложенные циклы
- •Создание процедур для обработки табличных данных
- •Контрольные вопросы:
- •3. Объектно-ориентированное программирование на vba
- •3.1 Разработка программы создания приложения с помощью Форм
- •Разработка пользовательского приложения с помощью объектов Форм
- •3.2 Встроенные диалоговые окна в vba
- •3.2.1 Окна сообщений (MsgBox)
- •3.2.2 Окна ввода
- •Разработка проекта встроенных диалоговых окон в vba
- •Варианты индивидуальных заданий
- •3.3 Объекты формы в vba: кнопки-переключатели, контрольные индикаторы, рамки
- •Разработка пользовательского приложения с помощью объектов: кнопка-переключатель, контрольный индикатор, рамка
- •3.4 Объекты формы в vba: Полоса прокрутки и Счетчик
- •Разработка пользовательского приложения с помощью объектов: полоса прокрутки, счетчик
- •3.5 Интеграция приложений: ms Excel и ms Word
- •3.5.1 Открытие документа ms Word функцией Create Object
- •3.5.2 Открытие документа ms Word функцией GetObject
- •Интеграция популярных приложений, входящих в пакет ms Office
- •Контрольные вопросы:
- •Список используемой литературы
- •Рыбакова Людмила Владимировна
1.2 Запуск vba
Запуск интегрированной среды разработки приложений IDE (Integrated Development Environment – интегрированная среда разработки) редактора VBA осуществляется через запуск Windows-приложения MS Excel следующими способами:
1) выбрать последовательность команд Сервис→Макрос→Редактор Visual Basic;
2) нажать комбинации клавиш <Alt> + <F11>;
3) нажать кнопку Редактор Visual Basic панели инструментов Visual Basic MS Excel.
После запуска программы на экран будет выведено окно редактора VBA, показанного на рисунке 1.
Возвратиться из редактора Visual Basic в рабочую книгу можно:
1) выбрать команды View (Вид)→MS Excel;
2) нажать кнопку View MS Excel панели инструментов Standard.
Главное окно содержит все стандартные элементы, которыми обладает любое Windows-приложение: строку заголовка, строку управляющего меню, строку панелей инструментов, два окна Project - VBAProject и Properties.
Строка заголовка содержит название проекта Microsoft Visual Basic–Книга1.
Строка управляющего меню обеспечивает доступ к большинству команд, управляющих средой программирования. Меню и команды работают в соответствии со стандартными соглашениями, общими для всех Windows-приложений.
Под строкой управляющего меню расположена строка панели инструментов (Standard), представляющая собой набор кнопок, являющихся ярлыками для команд, с помощью которых осуществляется работа в среде VBA.
Рисунок 1 – Вид окна редактора VBA
1.3 Структура редактора Visual Basic
Пользовательский интерфейс редактора Visual Basic включает следующие основные компоненты:
- окно проекта Project-VBAProject;
- окно редактирования кода;
- окно редактирования форм;
- окно свойств;
- панель элементов управления.
1.3.1 Окно проекта Project-vbaProject
Окно проекта Project-VBAProject в редакторе Visual Basic активизируется выбором команды View→Project Explorer (Вид→Окно проекта) или нажатием кнопки Project Explorer панели инструментов Standard.
В окне проекта Project-VBAProject, изображенного на рисунке 2, представлена иерархическая структура файлов форм и модулей текущего проекта.
В нем перечисляются все файлы проекта, доступ к которым осуществляется при помощи двух кнопок:
- <View code> (Просмотр кода);
- <View object> (Просмотр объекта).
Файл проекта имеет расширение *.xls и содержит список всех файлов проекта. В окне отображается его структура в виде дерева, которое похоже на структуру папок в окне Explorer Windows.
Рисунок 2 – Окно проекта Project-VBAProject
В проекте автоматически создаются модули для каждого рабочего листа и для всей книги. Модуль – это лист (не путать с рабочим листом), в котором набирается код. Кроме того, модули формируются для каждой пользовательской формы, макросов и классов.
По своему предназначению модули делятся на два типа: стандартные модули и модули объектов
К стандартным модулям относятся записываемые макросы. Такие модули добавляются в проект выбором команды Insert→Module (Вставка→Модуль).
К модулям объектов относятся модули рабочих книг, рабочих листов, форм и классов.
Двойным щелчком на значке модуля в окне проекта Project-VBAProject можно открыть соответствующий модуль. Значок активного модуля в окне проаекта Project-VBAProject выделяется серым цветом.
Формы создаются выбором команды Insert→UserForm (Вставка→Пользовательская форма), а модули класса - Insert→Class Module (Вставка→Модуль класса). По мере создания, добавления и удаления файлов из проекта эти изменения отображаются в окне проекта.
Удаление файла из окна проекта производится выделением значка файла с последующим выбором команды File→Remove ‘имя_модуля’ (Файл→Удалить), где ‘имя_модуля’ – имя выбранного модуля.
В окне проекта выводится список проектов всех открытых рабочих книг. Это позволяет легко копировать формы, модули из одного проекта в другой при помощи простой буксировки значка файла (для копирования файла – при нажатой клавише <Ctrl>).