Офисное программирование | страница 31
Рис. 29. Форма примера 13 в режиме конструктора и в рабочем состоянии
Private Sub CommandButton1_Click()
Dim a As String
Dim b As String
Dim c As String
Dim k As String
Dim d As String
Dim n As Integer
a = TextBox1.Text
n = Len(a)
Label7.Caption = «длина первой строки равна» & n & « символам»
c = TextBox3.Text
k = Ucase(с)
Label8.Caption = k
b = TextBox2.Text
d = a + " " + b
Label9.Caption = d
End Sub
4. Откомпилируйте программу.
5. Запустите форму на выполнение.
3.3. Процедуры и функции VBA
Процедуры VBA бывают двух типов:
• процедуры обработки событий;
• общие процедуры.
Имя процедуры обработки события, связанного с элементом управления, состоит из имени элемента управления, символа подчеркивания и имени события, например Закрытъ_ click – процедура обработки нажатия кнопки Закрыть в форме.
Общие процедуры VBA могут храниться в любом типе модулей VBA, так как они не связаны с конкретным объектом. Они выполняются только тогда, когда явно вызываются другими процедурами. Обычно эти процедуры реализуют какие-то общие действия, которые могут вызываться разными процедурами обработки событий.
Процедуры, как и переменные, должны быть объявлены до того, как они могут быть вызваны. Объявления общих процедур помещаются в разделе General (Общая область) модуля. Процедуры обработки событий хранятся в разделах модуля формы или отчета, соответствующих связанным с этими процедурами объектам.
В свою очередь, процедуры VBA делятся на подпрограммы и функции. Они являются фрагментами программного кода, который заключается между операторами Sub и End Sub или между Function и End Function соответственно. Процедуры-подпрограммы выполняют действия, но не возвращают значение, поэтому они не могут быть использованы в выражениях. Процедуры обработки событий представляют собой процедуры-подпрограммы. Процедуры-функции всегда возвращают значение, поэтому они обычно используются в выражениях. Общие процедуры могут быть как процедурами-подпрограммами, так и процедурами-функциями.
Синтаксис процедуры-подпрограммы VBA:
Sub <имяПроцедуры> (<аргумент1>, <аргумент2>, …) <оператор1>
<оператор2>
End Sub
Список аргументов у процедуры может отсутствовать и может содержать необязательные аргументы.
Объявление каждого аргумента имеет следующий синтаксис:
<имяАргумента> [As <типДанных> [=<значениеПоУмолчанию>]],
где <имяАргумента> – идентификатор, составленный согласно правилам создания имен и представляющий аргумент в теле процедуры;