Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ СП Часть 1+.doc
Скачиваний:
26
Добавлен:
03.05.2019
Размер:
3.18 Mб
Скачать

Общие сведения

Целью программирования на языке 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

  1. ABC

  2. Адрес_Ячейки

Операторы производят действия с объектами и переменными. Операторы делятся на арифметические, логические, текстовые и опера­торы сравнения. Все операторы 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.