Читайте также:
|
|
Процедуры VBA бывают двух типов:
• процедуры обработки событий;
• общие процедуры.
Имя процедуры обработки события, связанного с элементом управления, состоит из имени элемента управления, символа подчеркивания и имени события, например Закрытъ_ click – процедура обработки нажатия кнопки Закрыть в форме.
Общие процедуры VBA могут храниться в любом типе модулей VBA, так как они не связаны с конкретным объектом. Они выполняются только тогда, когда явно вызываются другими процедурами. Обычно эти процедуры реализуют какие-то общие действия, которые могут вызываться разными процедурами обработки событий.
Процедуры, как и переменные, должны быть объявлены до того, как они могут быть вызваны. Объявления общих процедур помещаются в разделе General (Общая область) модуля. Процедуры обработки событий хранятся в разделах модуля формы или отчета, соответствующих связанным с этими процедурами объектам.
В свою очередь, процедуры VBA делятся на подпрограммы и функции. Они являются фрагментами программного кода, который заключается между операторами Sub и End Sub или между Function и End Function соответственно. Процедуры-подпрограммы выполняют действия, но не возвращают значение, поэтому они не могут быть использованы в выражениях. Процедуры обработки событий представляют собой процедуры-подпрограммы. Процедуры-функции всегда возвращают значение, поэтому они обычно используются в выражениях. Общие процедуры могут быть как процедурами-подпрограммами, так и процедурами-функциями.
Синтаксис процедуры-подпрограммы VBA:
Sub <имяПроцедуры> (<аргумент1>, <аргумент2>, …) <оператор1>
<оператор2>
End Sub
При сборке программы могут сообщить друг другу свои результаты и
эти результаты могут стать входом других программ. Такую связь по входу и
выходу обеспечивает механизм входных и выходных параметров, которые
можно указать в заголовке программы. Так, если программа Р работает для
входных данных Х и выдает результат – данные Y, а программа G использует
эти данные, вычисляя результат Z, который в свою очередь принимает на вход
программа R, то образуется цепочка P(X)Y ⇨ G(Y)Z ⇨ R(Z) … Оче
видно, чтобы такие последовательности вызовов программ работали правильно,
необходимо, чтобы типы входных и выходных данных соответствовали друг
другу, т.е. были совместимы. Так, если, например, Y на выходе P имеет цело
численный тип, а данные, воспринимаемые программой G должны быть сим
25вольными, то G(Y) работать не будет, либо будет работать с непредсказуемым
результатом. Поэтому сборщику программ для каждой включаемой программы
необходимо знать имя программы, тип ее входных данных (говорят, входных,
input- параметров) и тип результата (говорят, выходных, output- параметров).
Такого рода рассуждения приводят к пониманию программы как данного
особого типа, который характеризуется типами входных параметров и типом
результата программы. Имя программы в таком случае может рассматриваться
как имя переменной соответствующего типа. Например, программа с именем Р,
имеющая два входных параметра, один из которых типа Integer, а другой – типа
String, и выдающая результат типа Single, может рассматриваться как перемен
ная Р типа (Integer, String) Single. Другая программа R с таким же типом
входа и выхода будет другой переменной того же типа. Структура программы
в таком случае не учитывается, программа рассматривается (с точки зрения
сборщика) как «черный ящик». Значениями таких переменных можно считать
состояния памяти, изменяемые при исполнении программы. Поэтому перемен
ные-программы имеют особый статус: им нельзя присваивать значений в про
граммах, которые их используют.
Однако многие языки программирования допускают присваивания этим
переменным внутри их тел, т.е., например, в программе P может (иногда, дол
жен) встретиться оператор Р = <значение>. Таким значением обычно является
результат ее работы, т.е. значение переменной-программы отождествляется с
результатом ее выполнения. Это бывает удобно при определении программы
как функции, т.е. Р(x,y) рассматривается как функция от аргументов x и y. Тогда
вызов этой программы для заданных данных a и b может участвовать в выра
жениях другой программы, например, допустимо выражение 0.15 + P(a,b) -2.
При исполнении выражения вместо P(a,b) будет подставлен результат работы
программы P на входных данных a и b.
Для использования в программе других программ, нужно отличать опи
сание программы от ее вызов
Дата добавления: 2015-10-28; просмотров: 83 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Слова ученных Ахлю-Сунны | | | Сколько христиан проживает на Ближнем Востоке? |