
- •Камышинский технологический институт (филиал)
- •Системы программирования
- •Часть 1
- •Введение
- •Общие сведения
- •Интерфейс пользователя vba
- •Лабораторная работа №1 знакомство со средой программирования excel vba
- •Указания по выполнению
- •Пользовательской формы
- •Лабораторная работа №3 команды выполнения действий по условиям
- •Указания по выполнению
- •Литература
- •Содержание
Общие сведения
Целью программирования на языке VBA является создание макросов, облегчающих работу в среде Excel и Word или написание собственных специализированных функций, предназначенных для решения конкретных задач пользователя.
Макрос - это программа, выполняющая действия с электронными таблицами, группой ячеек, одной конкретной ячейкой или фрагментом текстового документа. Результатом работы макроса обычно является изменение содержания или вида ячеек электронной таблицы, текста. Примером макроса, встроенного в Excel, является команда Формат/Ячейки, после выполнения которой изменяются форматы выделенных ячеек.
Программа, предназначенная для вычисления одного значения, называется функцией. Функции, как правило, работают с содержимым ячеек, а не с их видом. Значение, вычисленное функцией пользователя, можно использовать в формулах так же, как и значения обычных функций Excel.
Программирование на языке VBA основывается на четырех основных понятиях: объект, переменная, оператор и команда.
Объектами в Excel является все то, с чем работает пользователь электронной таблицы - рабочие книги, электронные таблицы, ячейки и т.д. Каждый объект обладает рядом признаков, описывающих объект или характеризующих состояние объекта. Эти признаки называются свойствами объекта. Например, одним из свойств рабочего листа электронной таблицы является имя листа. К свойствам ячейки относятся содержимое ячейки, формула и различные параметры форматирования ячейки.
Объекты могут содержать другие объекты. Книга Excel содержит рабочие листы. В свою очередь, рабочие листы содержат ячейки. В целом, все объекты Excel образуют строгую иерархию. На рис. 1 приведена структура объекта ActiveCell ("Текущая ячейка").
При обращении к какому-либо свойству конкретного объекта используется следующий синтаксис:
<Объект>.<Свойство объекта>
Например, чтобы прочитать формулу, содержащуюся в текущей ячейке, нужно написать ActiveCell.Formula. Здесь ActiveCell - объект, a Formula - его свойство.
Некоторые объекты являются составной частью других объектов. Так, объект Interior ("Заливка") может относиться к текущей ячейке, диапазону ячеек или к ячейке электронной таблицы, находящейся на другом листе рабочей книги. Чтобы уточнить, какую именно заливку
мы имеем в виду, необходимо указать принадлежность объекта Interior. Принадлежность объекта указывается соответствующей приставкой перед именем объекта:
<Принадлежность>.<Объект>.<Свойствообъекта>.
Например, цвет заливки текущей ячейки обозначается следующим образом: ActiveCell.Interior.Color. Наиболее употребительные объекты Excel и их свойства приведены в приложении А.
Кроме свойств, у объектов есть ряд методов. Метод - это действие, применяемое к объекту. Например, одним из методов для объекта Range (Диапазон) является ClearContents (Очистить содержимое). Этот метод позволяет очистить содержимое диапазона.
Рис. 1. Структура объекта ActiveCell
При обращении к какому-либо методу конкретного объекта используется следующий синтаксис:
<Объект>.<Метод объекта>.
Например: Range("Al:A10").ClearContents.
Язык Visual Basic for Applications позволяет разрабатывать событийно-управляемые приложения. Событие - действие, распознаваемое объектом (формой или элементом управления). Событийно-управляемое приложение выполняет код VBA в ответ на события. С каждой формой и элементом управления связан стандартный набор событий. Если происходит одно из этих событий и в соответствующей процедуре обработки события имеется код, VBA вызывает этот код. Например, большинство объектов распознает событие Click - если пользователь щелкнет командную кнопку или на поле формы, выполняется код, внесенный в процедуру события Click, соответственно, кнопки и формы.
Событие может быть вызвано пользователем (например, нажатие клавиши), системой (например, событие таймера) или программным кодом.
Переменные - это место для временного хранения значений. Переменные находятся в оперативной памяти компьютера и существуют только во время работы программы. Когда программа завершается, переменные из памяти удаляются. В переменных могут храниться как простые данные (например, числа или текстовые строки), так и объекты. Типы данных приведены в приложении С.
Переменные характеризуются своим именем. Имя переменной должно всегда начинаться с буквы или знака подчеркивания, может содержать знаки подчеркивания и быть длиной до 255 символов. Имена переменных не должны содержать внутри себя пробелы. Если нужно составить имя переменной из нескольких слов, слова объединяются знаками подчеркивания.
Примеры имен переменных:
1) I
ABC
Адрес_Ячейки
Операторы производят действия с объектами и переменными. Операторы делятся на арифметические, логические, текстовые и операторы сравнения. Все операторы VBA аналогичны операторам в формулах Excel. Например, к арифметическим относятся следующие операторы: "+" - сложение, "-" - вычитание, "*" - умножение, "/" - деление. Таким образом, запись 1+100 означает, что к переменной I добавляется 100. Полный список операторов приводится в приложении В.
Для управления вычислительным процессом используются команды. Они предписывают, куда поместить результат вычислений, позволяют проверять данные по какому-либо условию, организовывают циклические вычисления. К примеру, по команде присваивания А=В+10 результат сложения В+10 будет записан в переменную А.
Команды делятся на описательные и исполнительные. Описательные команды не приводят к выполнению каких-либо действий с переменными или объектами. Они служат для определения, какие именно переменные используются при вычислении (команда определения переменных Dim), где начинаются и где заканчиваются вычисления (команды организации макросов и функций Sub... End Sub, Function...End Function) и т.п. Исполнительные команды служат для непосредственной организации вычислительного процесса. Это команды присваивания (=), организации циклов (For...Next, Do...Loop), выполнения действий по условию (If...Then...Else, Select Case...End Select). Каждая такая команда либо изменяет содержимое переменной или состояние объекта, либо направляет вычисления по определенной ветви. В приложении D приведены основные команды VBA.