Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.8 Mб
Скачать

Модули и процедуры.

Код VBA должен где-то храниться и это “где-то” называют модулем. Различают 2 типа модулей: стандартные и модули класса. Мы будем рассматривать стандартные модули.

Определение. Модуль – это совокупность объявлений и процедур, хранящихся как единое целое.

Объявления помогают указать программе, с какого типа данными она будет иметь дело, (объявить наши переменные целого типа, вещественного, текстового и так далее). .При этом, в зависимости от типа переменной, программа по- разному выделяет память для их хранения. Кроме того, при объявлении переменных мы указываем область видимости нашей переменной, то есть в каких модулях и программах будет “видно” нужное нам значение, где мы можем использовать значение той или другой переменной.

Определение. Процедура - это набор команд, предназначенных для решения конкретной задачи. Например: процедура для нахождения корня квадратного или кубического уравнения, нахождения определенного интеграла на заданном промежутке и так далее.

Мы рассматриваем 2 типа процедур:

  1. Процедура – подпрограмма

  2. Процедура – функция

Отметим, что каждая из процедур хранится в модуле. В одном модуле может храниться несколько процедур. Одну сложную задачу можно разбить на ряд более простых, для каждой из которых подготовить процедуру и протестировать ее на правильность выполнения. После того, как процедуры созданы, в нашей основной программе нужно лишь правильно вызвать их, чтобы сделать отведенную им работу. Правильный вызов процедуры эквивалентен помещению соответствующего кода в тело программы.

Создание процедур-подпрограмм..

При создании процедур мы должны пройти следующие этапы:

1)Создать модуль, где процедура будет храниться.

2)Выделить место, где будут располагаться операторы процедуры, т.е. указать, где начинается и где заканчивается процедура. При этом мы обязательно укажем, как наша процедура будет называться,

3)Написать код процедуры.

Замечание: При создании макроса первые два пункта выполняются автоматически: автоматически создавался модуль, куда затем записывался код макроса.

Для того, чтобы процедуру создать с нуля поступим следующим образом:

1) войдем в редактор VBA (Alt+F11)

2) Вставка модуль

3) Для вставки процедуры::

а)в окне модуля ввести:

SUB <имя процедуры>

END SUB

или

б)Вставка процедура( Insert Procedura)

В появившемся окне даём процедуре имя ( например, Оксана), и указываем область определения (Public-Общая)

В модуле появляется код:

Public SUB Оксана()

END SUB

Процедура подпрограммы.

Полный синтаксис подпрограммы процедуры следующий:

[Public Private] [Static] SUB-<имя> ([Список формальных параметров])

<действия>

End sub

Первая строка называется заголовком процедуры;

Вторая называется телом процедуры. В ней идут <объявления> и <операторы>;

Тренья строка END SUB называется окончанием процедуры..

Замечание.

1)Квадратные скобки указывают на то, что соответственные ключевые слова не обязательны, и могут быть опущены.

2)Имя процедуры должно содержать не более 255 символов, начинаться с буквы и кроме букв может содержать цифры и символы подчеркивания.

Слова Private (личный), Public (общий) предназначены для того, чтобы указать, где данная процедура «будет доступной для использования».

Public-процедуру можно использовать в любом модуле нашего проекта, в то время как Private делает видимой процедуру только в том модуле, в котором она написана.

Отметим, что если слова Public и Private пропущены, то описываемая подпрограмма имеет статус подпрограммы типа Public, то есть, видна во всем проекте.

Список формальных параметров.

Через символ «,» задаются переменные, с которыми работает данная процедура. Ниже, среди операторов и объявлений будет указано, как, по каким формулам необходимо обрабатывать наши формальные параметры. Параметры называются формальными, потому что мы опишем, как с ними работать, не выясняя, какие конкретно значения при этом имеются в виду.

Отметим, что формальные аргументы не имеют никакого отношения к переменным, которые имеют те же имена в основной программе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]