Фризен Ирина Григорьевна - Офисное программирование стр 13.

Шрифт
Фон

1 метка: сообщается длина строки, введенной в первое текстовое поле (1 строка);

2 метка: преобразует все символы третьего текстового поля (3 строка) в заглавные буквы;

3 метка: выводит вместе содержание первого и второго текстовых полей (1 и 2 строки).

Технология выполнения

1. Откройте приложение Word, сохраните документ и перейдите в редактор VBA.

2. Создайте форму аналогично приведенному рис. 29.

3. Пропишите обработчик события кнопки ОК.

Рис. 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

программу.

5. Запустите форму на выполнение.

3.3. Процедуры и функции VBA

Описание процедур и функций VBA

процедуры обработки событий;

общие процедуры.

Имя процедуры обработки события, связанного с элементом управления, состоит из имени элемента управления, символа подчеркивания и имени события, например Закрытъ_ click процедура обработки нажатия кнопки Закрыть в форме.

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

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

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

Синтаксис процедуры-подпрограммы VBA:

Sub (, , )

End Sub

Объявление каждого аргумента имеет следующий синтаксис:

[As [=]],

это либо встроенный тип данных, либо тип, определенный пользователем. Тип данных аргумента может не указываться, и тогда считается, что он имеет тип Variant. Аргументом процедуры может быть и массив. Тогда после имени аргумента должны стоять круглые скобки.

Для необязательного аргумента может быть указано , которое будет использоваться, если этот аргумент будет опущен. Если значение по умолчанию не указано, необязательный аргумент инициируется точно так же, как переменная, т. е. числовой аргумент в 0, строковый в строку нулевой длины и т. д.

Описание функции:

Function (, , ) [As

]

=

End Function

Рассмотрим два примера объявления подпрограмм и функций.

Объявление процедуры инициализации массива
Sub Init (arr() As Integer)

Dim i As Integer, str As String

For i * LBound(arr) To UBound(arr)

str = "Введите количество книг на полке " & I

arr(i) = InputBox(str) 'функция ввода строки

Next I

End Sub

Объявление функции, подсчитывающей сумму любого числа аргументов
Function SummaVar(ParamArray varArg() As Variant) As Integer

Dim intSum As Integer, numb As Variant

For Each numb In varArg 'цикл по всем элементам массива

intSum = intSum + numb 'по умолчанию инициируется в 0

Next numb

SummaVar = intSum 'присвоение возвращаемого значения

End Function

Вызов подпрограмм и функций

использовать написанную подпрограмму или функцию, ее нужно вызвать. Вызов процедуры-подпрограммы отличается от вызова процедуры-функции.

Обычно подпрограмма вызывается из другой подпрограммы или функции с помощью специального оператора VBA. Если она имеет аргументы, ей передается список фактических параметров.

Оператор вызова подпрограммы может использоваться в двух формах:

или

Call ().

Вызов функции имеет следующий вид:

=().

Например, вызов объявленной в вышеприведенном примере функции SummaVar может выглядеть следующим образом:

Dim intShelfs (I To 30) As Integer

Dim intS As Integer

Init intShelfs инициируем массив intShelfs

intS = SummaVar(1,2,3,4,5,6,7,8,9)'суммируем целые числа

Пример 14.

Процедуры и функция выполняют следующие действия:

1) первая процедура производит суммирование двух первых введенных значений a и b;

2) вторая процедура производит умножение третьего и четвертого введенных значений c и d;

3) функция вычисляет выражение a+b-c*d.

Технология выполнения

1. Откройте приложение Word, сохраните документ и перейдите в редактор VBA.

2. Создайте форму (рис. 30).

3. Пропишите обработчик события кнопки Счет.

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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке