Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика_4 / Использование Visual Basic for Applications / Использование Visual Basic for Applications.doc
Скачиваний:
100
Добавлен:
23.02.2015
Размер:
731.65 Кб
Скачать

5.7.2. Пример создания программного кода формы

Создадим программный код для нашей формы, разработанной выше (пп. 4.2.8.). В этом коде должен выполняться расчет площади прямоугольника (по введенным в текстовые поля значениям сторон прямоугольника) и результат расчета выводиться в форме. Для этого войдем в редактор Visual Basic из приложения (файла), в котором была создана форма. Выполним вставку нового модуля, который будет автоматически назван Module1, и введем в него написанную ранее процедуру RectArea(пп. 5.2.1.).

В окне проекта перейдем к модулю формы UserForm1. Создадим обработчик события нажатие на кнопку OK, для чего дважды щелкнем на кнопку OK в форме. В результате такого действия появится редактор кода с заготовкой обработчика события. Нам остается лишь внести в него текст ниже следующей процедуры.

Option Explicit

Private Sub CommandButton1_Click( )

Dim x As Single

Dim y As Single

Dim z As Single

x = CSng(HeightBox.Text)

y = CSng(LengthBox.Text)

Module1.RectArea (x, y, z)

AreaBox.Text = z

End Sub

Рассмотрим код процедуры по порядку. Инструкцией Dim объявляются три вспомогательных переменных типа Single. HeightBox.Txt – это свойство текстового поля. Оно собственно и определяет текст, содержащийся в этом поле. Встроенная функция CSng пытается перевести этот текст в тип Single. Заметим, что функция вызывается по имени, а после него идет список формальных параметров, который может быть заключен в скобки, но это не обязательно.

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

Кстати, процедуру RectArea можно было бы поместить и в модуль формы, выбрав в верхней части редактора кода <Общее> и <Общая область>. В этом случае, полный путь до процедуры указывать не обязательно.

Далее создадим обработчик события Click для кнопки Cancel на нашей форме. Он будет состоять всего из одного оператора, который закрывает форму и завершает с ней работу: UserForm1.Hide.

5.8. Инструкции vba

5.8.1. Инструкции присваивания Let и Set

Инструкции присваивания – одни из наиболее часто используемых инструкций в программах. В VBA существуют два основных типа инструкций присваивания: Let и Set. Первая из инструкций используется при присвоении переменной какого-либо значения. Ее синтаксис имеет вид:

Let Имя_переменной = Выражение.

Однако то же самое записывается проще: Имя_переменной = Выражение.

Получается, что инструкция Let является архаизмом и при присвоении может быть опущена. Инструкция Set присваивает переменной или свойству какого-то объекта ссылку на другой объект. Ее синтаксис таков:

Set объектная_переменная = Объектное_выражение.

Основное отличие этой инструкции от предыдущей в том, что переменная здесь должна быть либо типа Object, либо любого его потомка (напоминаем, что любой объект в VBA является потомком базового типа Object). Если в качестве объектного выражения использовать значение Nothing, то это означает, что переменная просто «забывает» адрес того объекта, который «помнила до того» и не ссылается вообще ни на что. Кроме того, для инструкции Set возможен синтаксис:

Set объектная_переменная = New Объектное_выражение.

В этом случае происходят два действия.

1. Создается новый экземпляр класса Объектное_выражение.

2. Ссылка на этот новый экземпляр присваивается объектной переменной.