
- •Федеральное агентство по образованию
- •Введение в vba
- •Объектно-ориентированное программирование
- •Основные понятия
- •Алфавит и словарь языка
- •Переменные
- •Константы
- •Строковые переменные
- •Массивы
- •Пользовательские типы данных
- •Операции vba
- •Объектная модель Excel
- •Свойства и методы объектов
- •Отображение объектной модели Excel
- •Иерархия объектной модели
- •Ссылка на объекты в коде vba
- •Работа с объектами
- •Задание свойств объекта
- •Использование методов объекта
- •Переменные-объекты
- •Коллекции
- •Метод Add
- •Свойство Count
- •Свойства и методы основных объектов Excel
- •Объект Application
- •Объект Worksheet
- •Объект Range
- •Просмотр объектов
- •Использование справочной системы
- •Использование функциональной клавиши f1
- •Использование помощника
- •Вывод сообщений и ввод и данных
- •Функция MsgBox
- •Функция InputBox
- •Метод InputBox
- •Объединение текстовых строк
- •Концепция событий Excel
- •Типы событий Excel
- •События объекта Workbook
- •События объекта Worksheet
- •События объекта Application
- •События объекта UserForm
- •События, не связанные с конкретными объектами
- •Метод OnKey
- •Событие OnTime
- •Формы пользователя
- •Свойства, методы и события экранных форм
- •Некоторые свойства форм
- •Некоторые методы форм
- •Некоторые события форм
- •Элементы управления
- •Элемент управления Label (Надпись)
- •Окно свойств формы
- •Элемент управления CommandButton (Кнопка)
- •Элемент управления TextBox (Текстовое поле)
- •Элемент управления ComboBox
- •Элемент управления ListBox (список)
- •Элемент управления CheckBox (Флажок)
- •Элемент управления ToggleButton (Выключатель)
- •Элемент управления OptionButton (Переключатель)
- •Элемент управления Image (Рисунок)
- •Элемент управления ScrollBar (полоса прокрутки)
- •Элемент управления SpinButton (Счётчик)
- •Элемент управления RefEdit (Поле со свёртыванием)
- •Элементы управления на рабочем листе
- •Инструкции vba
- •Оператор присваивания
- •Инструкция Set
- •Инструкция For… Next
- •Инструкция While…Wend
- •Инструкция Do... Loop
- •Инструкция For Each…Next
- •Инструкции перехода
- •Инструкция условного перехода If…Then…Else
- •Инструкция Select…Case
- •Инструкция безусловного перехода GoTo
- •Инструкции перехода к обработчику ошибок On Error
- •Инструкции прерывания выполнения блока Exit
- •Инструкция передачи управления выполнением процедуры подпрограмме внутри процедуры GoSub… Return
- •Инструкция передачи управления выполнением процедуры на одну из нескольких строк кода On…GoSub и On…GoTo
- •Функции vba
- •Встроенные функции
- •Математические функции
- •Функции преобразования данных
- •Функции даты и времени
- •Строковые функции
- •Примеры использования функций vba
- •Удаление ненужных символов
- •Определение длины строки
- •Сравнение и поиск строк
- •Функция StrComp
- •Функция InStr
- •Выделение части строки
- •Функция Left
- •Функция Right
- •Функция Mid
- •Форматирование значений данных
- •Функции, определённые пользователем
- •Пример функции
- •Файлы vba
- •Типы файлов в vba
- •Открытие и закрытие файла
- •Ввод данных в файл последовательного доступа
- •Вывод данных из файла последовательного доступа
- •Работа с файлом произвольного доступа
- •Создание процедуры
- •Выполнение процедуры
- •Сохранение процедуры
- •Запись последовательности действий пользователя
- •Просмотр кода макроса
- •Отладка программ
- •Тестирование и отладка как этап разработки приложений
- •Отладка
- •Режим останова
- •Использование окна Immediate
- •Просмотр значений в окне Immediate
- •Пошаговое выполнение программ
- •Исправление ошибок
- •Библиографический список
- •Оглавление
Объектная модель Excel
Как отмечено во введении, при разработке приложений в VBA можно использовать средства процедурного программирования и объектно-ориентированного программирования. Программирование в Excel строится на языке VBA и объектной модели Excel. Приложение Excel состоит из объектов, функциональные возможности которых можно использовать в программах, написанных на языке VBA. Совокупность объектов Excel называется объектной моделью Excel.
Свойства и методы объектов
При работе с объектами используются такие термины, как свойства и методы объектов. Объект инкапсулирует (объединяет в себе) его свойства и методы, которые доступны из программы, составленной на VBA. Использование объекта сводится к использованию его свойств и методов.
Свойство – это совокупность характеристик и атрибутов, описывающих объект. С помощью свойств можно задать ,например, цвет, значение, шрифт или формат диапазона ячеек. Одни свойства доступны только для чтения, а другие доступны как для чтения, так и для записи (изменения).
Метод представляет собой действия, выполняемые объектом. Например, метод Clear (Очистить) объекта Range (Диапазон) удаляет содержимое ячеек диапазона. Методы могут принимать значения параметров, уточняющие характер действия, которое необходимо выполнить.
Отображение объектной модели Excel
Для освоения способов управления Excel с помощью VBA необходимо ознакомиться с объектной моделью Excel. Объектная модель описывает объекты приложения и связи между ними. В объектной модели Excel представлено более 100 объектов. В большинстве случаев используются не более 20 объектов. Для отображения всех объектов Excel нужно выполнить следующие действия.
Открыть новую рабочую книгу.
Нажать комбинацию клавиш <Alt+F11>, чтобы открыть редактор Visual Basic.
На вкладке Введите вопрос ответов ввести текст: Microsoft Excel Objects.
Нажать клавишу <Enter> и в списке тем щелкнуть на теме Microsoft Excel Object. Отобразится диаграмма объектной модели (рис. 1).
Щелкнуть на стрелке, направленной влево, над строкой Microsoft Excel Objects (стрелка окрасится в голубой цвет). Отобразятся объекты уровня рабочего листа (рис. 2).
Рис. 1. Объектная модель Excel
Рис. 2. Объектная модель Worksheet (Рабочий лист)
Вершиной иерархии объектной модели Excel является объект Application (Приложение). На следующем уровне иерархии объектной модели находится объект WorkBook (Рабочая книга), который совпадает с файлом рабочей книги Excel. Объект WorkBook содержит объекты более низкого уровня, в частности объект Worksheet (Рабочий лист). Объект Worksheet, в свою очередь, состоит из других объектов (рис. 2).
Среди более 100 объектов Excel в программировании на VBA большей частью используются следующие:
Application (Приложение)
WorkBook (Рабочая книга)
Worksheet (Рабочий лист)
Range (Диапазон)
Chart (Диаграмма)
Объект Application представляет саму программу Excel.
Объект WorkBook представляет рабочую книгу Excel, т.е. файл Excel.
Объект Worksheet (Рабочий лист) - отдельная страница в рабочей книге, имеющая индивидуальное имя и предназначенная для хранения данных и выполнения вычислений.
Рабочий лист в свою очередь состоит из ячеек. Ячейки представляет объект Range, который может состоять из одной или нескольких ячеек.
Одним из часто используемых объектов является объект Chart (Диаграмма). Все, действия, которые можно выполнить с диаграммами в Excel, можно запрограммировать в VBA.