Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие по VBA(Курица).docx
Скачиваний:
30
Добавлен:
17.11.2019
Размер:
2.71 Mб
Скачать

Контрольные вопросы

  1. Что такое буалевские вектора, их описание и применеие в VBA?

  2. Какие операции применяются для работы с булевскими векторами?

  3. Как можно преобразовать тип Boolean в другой тип данных и наоборот?

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

Можно упростить программирование, разбивая задачу на небольшие логические компоненты. Эти компоненты, называемые процедурами, могут впоследствии стать строительными блоками, которые позволят усилить и расширить VBA.

При программировании с использованием процедур можно выделить два основных преимущества:

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

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

В VBA используется несколько видов процедур:

Процедуры Sub (не возвращают значения)

 Процедуры Function (возвращают значения)

 Процедуры Property (могут возвращать и присваивать значения), а также устанавливать ссылки на объекты.

Процедуры Sub

Процедура Sub (или подпрограмма) - это блок кода, который выполняется в ответ на событие. Разбивая код модуля на процедуры Sub, намного легче читать или модифицировать код приложения.

Синтаксис процедуры Sub таков:

[Private | Public][Static]Sub <Имя процедуры> (<аргументы>)

<Операторы>

End Sub

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

Задание параметров процедуры подобно объявлению переменных. Пример:

Sub tobin(i As Integer)

Dim b As String, a As Integer, s As Single

b = "": s = CSng(i)

Do While s > 0

a = s Mod 2#

b = CStr(a) + b

s = (s) \ 2#

Loop

MsgBox b, vbOKOnly, "Результат"

End Sub

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

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

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

    1. Создание новых процедур

Для создания новой общей процедуры следует в окне кода набрать на клавиатуре заголовок процедуры и нажать клавишу Enter. Заголовок процедуры состоит из слова Sub или Function, за которым следует имя процедуры. Например:

Sub UpdateForm ()

Function GetCoord ()

В результате VBA заполняет шаблон для новой процедуры, т.е. дописывает строку End Sub или End Function, например:

Sub UpdateForm()

. . .

End Sub.