Управляющие конструкции Visual Basic for Applications. Cтpoки и массивы.



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

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

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

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

В Visual Basic for Application (VBA) существует несколько способов изменения порядка выполнения инструкций. Управляющие структуры VBA во многом схожи с подобными структурами в других языках программирования.

Основные управляющие структуры VBA :

- If Then Else 'End If

- For Next

- While Wend

- Do Loop

- Select Case 'End Select

- For Each Next

Управляющая инструкция If Then Else 'End If - изменяет порядок выполнения инструкций в зависимости от результатов проверки заданного условия (или набора условий).

Управляющая инструкция For Next - позволяет выполнять определённые действия нужное количество раз. Такие инструкции, как правило, называют циклами.

Управляющая инструкция While Wend - позволяет выполнять определённые действия до тех пор, пока соблюдается заданное условие.

Управляющая инструкция Do Loop - позволяет выполнять определённые действия не только до тех пор, пока соблюдается заданное условие, но и наоборот, пока не будет выполнено заданное условие.

Управляющая инструкция Select Case 'End Select - в зависимости от результатов значения переменной или выражения выполняет один из нескольких фрагментов кода.

Управляющая инструкция For Each Next - позволяет выполнять определённые действия с каждым объектом семейства или элементом массива.

Массивы в Visual Basic for Application – это структуры, которые обычно хранят наборы взаимосвязанных переменных одного типа. Доступ к записям массива осуществляется по их числовому индексу.

Объявление массива с использованием оператора Dim имеет следующий синтаксис: Dim VarName([Subscripts]) [As Type]

VarName - любое имя массива, использующее допустимый идентификатор имени;

Subscripts - измерение массива. Если размерность массива больше единицы, то Subscripts разделяются запятыми.

Оператор Subscripts имеет следующий синтаксис: [lower To] upper [,[lower To] upper].

lower - определяет нижний диапазон допустимых индексов для массива (необязательный аргумент);

upper - определяет верхний предел для индексов массива (обязательный аргумент).

Строка — это последовательность символов. Строковые величины могут быть переменными или константами. Символы, заключенные в кавычки, являются строками.

В VBA существует несколько функций для обработки строк. Mid (вырезка), Len (длина), InStr (поиск), Left (вырезка слева), Right (вырезка справа), Trim (убирает пробелы слева и справа), StrComp (сравнение строк) и др.

 

Процедуры и функции Visual Basic for Applications.

VBA поддерживает два типа подпрограмм: процедуры и функции.

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

Процедура — это любая подпрограмма, которая не является функцией. Любой макрос VBA является подпрограммой типа "процедура".

Для объявления процедуры в VBA используется ключевое слово Sub:

Sub <имяПроцедуры> [(<списокПараметров>)]

<операторы>

End Sub

где:

<имяПроцедуры> – любой допустимый идентификатор VBA;

<списокПараметров> – список формальных параметров процедуры, если он пуст, то такая процедура является макросом;

<операторы> - любая последовательность операторов VBA.

Синтаксис объявления функции несколько сложнее, чем синтаксис процедуры:

Function <имяФункции> [(<списокПараметров>)] [As <типФункции>]

<операторы>

. . .

<имяФункции> = <возвращаемое_значение>

[<операторы>]

End Function

где:

<имяФункции> - любой допустимый идентификатор;

<списокПараметров> – список формальных параметров процедуры;

<типФункции> - имя любого поддерживаемого VBA типа данных;

<операторы> - любая последовательность операторов VBA.

<возвращаемое_значение> - результат, передаваемый в вызывающую программу.

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

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

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

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

Способ передачи указывается при описании параметров в строке объявления подпрограммы. Имени параметра может предшествовать один из явных описателей способа передачи:

- ByRef – задает передачу по ссылке;

- ByVal – задает передачу по значению.

По умолчанию выполняется передача по ссылке.

 


Дата добавления: 2018-08-06; просмотров: 473; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!