Управление выполнения программ в VBA 


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



ЗНАЕТЕ ЛИ ВЫ?

Управление выполнения программ в VBA



Управление выполнением программ осуществляют следующие оперторы:

If – Then (оператор условного перехода) передает управление ходом выполнения программы в зависимости от истинности некоторого условия.

Стандартный синтаксис конструкции If - Then таков:

If <условие> Then

<оператор, если условие – истина>

[ Else

<оператор иначе, если условие – ложь >]

End If

Если условие истинно, то выполняются операторы за словом Then. Иначе выполняется оператор иначе.

Пример

If stip<10000

THEN stip=(stip*25)/100

Else stip=(stip*15)/100

End If

Select Case

Конструкция Select Case применяется при выборе между несколькими вариантами.

Конструкция Select Case имеет следующий синтаксис:

Select Case тестируемое_выражение

[ Case список условий-п

[операторы-п]]

[ Case Else

[иначе операторы]]

End Select

Пример конструкции Select Case

Sub GreetMe()

Select Case Time

Case Is < 0.5

Msg = " Доброе утро "

Case 0.5 To 0.75

Msg = " Добрый день "

Case Else

Msg = " Добрый вечер "

End Select

MsgBox Msg

End Sub

Циклическая обработка операторов

Цикл— это процесс повторения набора операторов.

Если заранее известно сколько раз должен повториться цикл, то применяют цикл For - Next.

For < счетчик> = < начало> То < конец> [ Step < шаг>]

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

[ Exit For ]

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

Next [< счетчик>]

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

51.Инструкция Do…Loop

Повторяет блок инструкций, пока условие Boolean равно True или до тех пор, пока условие станет True.

Do { While | Until } condition [ statements ] [ Exit Do ] [ statements ]Loop-or-Do [ statements ] [ Exit Do ] [ statements ]Loop { While | Until } condition

While

Требуется, если используется Until. Повторяет цикл до тех пор, пока condition равно False.

Until

Требуется, если используется While. Повторяет цикл до тех пор, пока condition равно True.

condition

Необязательный параметр. Выражение типа Boolean. Если condition равно Nothing, Visual Basic обрабатывает его как False.

statements

Необязательный атрибут. Один или несколько операторов, повторяемых, пока condition равно или пока не станет равно True.

Exit Do

Необязательный атрибут. Передача управления из цикла Do.

Loop

Обязательный параметр. Завершение определения цикла Do.

· Природа условий. Условие обычно является результатом сравнения двух значений, но оно может быть любым выражением, значение которого при вычислении имеет тип Тип данных Boolean (Visual Basic) (True или False). Сюда же относятся значения других типов данных, например числовых типов, преобразованные в тип Boolean.

· Проверка условий. Можно проверить condition только один раз, в начале либо в конце цикла. While или Until можно использовать для указания condition, но не оба одновременно.

· Число итераций. Если проверить condition в начале цикла (в инструкции Do), цикл может никогда не выполниться, даже один раз. Если проверить в конце цикла (в инструкции Loop), цикл всегда выполняется по крайней мере один раз.

· Вложенные циклы. Циклы Do могут вкладываться друг в друга. Также можно вложить друг в друга различные виды управляющих структур.

 

Пример: IntЧисло=1

IntS=1

Do While intЧисло<50

S=S*intЧисло

Loop

 

52 Инструкция For…Next

Структура For... Next используется при необходимости повторения набора инструкций несколько раз.

Циклы Оператор While... End While (Visual Basic) или Оператор Do...Loop (Visual Basic) удобны, когда неизвестно необходимое число повторов выполнения операторов. Однако, если предполагается повторить цикл определенное число раз, то лучше использовать цикл For... Next. Число итераций определяется при первом входе в цикл.

For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ]Next [ counter ]

Counter -Требуется в операторе For. Числовая переменная. Управляющая переменная цикла.

Datatype -Является обязательным, если counter еще не был объявлен. Тип данных counter.

Start -Обязательный атрибут. Числовое выражение. Начальное значение counter.

End -Обязательный атрибут. Числовое выражение. Конечное значение counter.

Step -Необязательный атрибут. Числовое выражение. Шаг, с которым counter увеличивается при каждом прохождении цикла.

Statements -Необязательный атрибут. Одно или несколько выражений между For и Next, выполняемых указанное число раз.

Exit For -Необязательный атрибут. Передача управления из цикла For.

Next- Обязательный атрибут. Завершение определения цикла For.

· Типы данных. Типом данных counter является обычно Integer, но может быть любой тип, поддерживающий операторы больше или равно (>=), меньше или равно (<=), а также операторы сложения (+) и вычитания (-). Он даже может определяемым пользователем типом, если тот поддерживает все эти операторы.

Выражения start, end и step обычно приводятся к типу Integer, но могут быть приведены к любому большему по разрядности типу, чем тип counter. При использовании определяемого пользователем типа для counter это означает, что может потребоваться определить оператор преобразования CType для преобразования типов start, end или step к типу counter.

· Объявление. Если counter не был объявлен вне цикла, то его нужно объявить в операторе For. В этом случае областью действия counter является тело цикла. В то де время, нельзя определять counter и внутри, и снаружи цикла.

· Число итераций. Visual Basic вычисляет значения итераций start, end и step только один раз перед началом цикла. Если в блоке операторов значение end или step изменяется, то это изменение не оказывает влияния на повторение цикла.

· Вложенные циклы. Циклы For могут вкладываться друг в друга. При этом каждый цикл должен иметь уникальную переменную counter.

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

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

· Вход в цикл. При начале выполнения цикла For... Next Visual Basic вычисляет start, end и step только один раз. Затем назначается значение start переменной counter. Перед выполнением блока операторов сравниваются counter и end. Если значение counter превысило конечное значение, то цикл For завершается, а управление передается оператору, следующему после Next. В противном случае выполняется блок операторов.

Инструкция Select Case

Select Case – оператор выбора одной из нескольких альтернатив, передает управление в зависимости от результата сравнения значения некоторого выражения со вписком или диапазоном значений.

Формат оператора:

Select Case <проверяемое выражение>

[Case <список-сравнение-1>

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

[Case Else

[<иначе операторы>]]

End Select

Оператор Select Case выбирает и исполняет одну из последовательностей операторов Сase.

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

Параметр список сравнение -1 также должен присутствовать в строке Case. Список сравнений, компоненты которого перечисляются через запятую, может иметь одну из трех форм:

· «выражение» - задает отдельное значение

· «выражение» ТО выражение»

· «IS <оператор-сравнение>выражение», где оператор-сравнение – это {=|>|<|<=|>=}

Если «проверяемое выражение» совпадает с одним из выражений параметра «список-сравнение», то выполняется «оператор1»; если «проверяемое выражение» удовлетворяет несколько предложений Case, выполняются операторы только первого Case; если «проверяемое выражение» не находит своего значения в предложении Case, выполняются <Иначе операторы>, расположенные после предложения Case Else.

 

54 Инструкция If…Then…Else

If…Then…Else – оператор условного перехода, который передает управление ходом выполнения программы в зависимости от истинности некоторого условия. Формат оператора:

If условие Then

[операторы]

[ElseIf условие-n Then

[операторы-n]…

[Else

[иначе операторы]]

End If

 

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

Операторы – один или несколько разделенных двоеточием операторов.

Если условие истинно, выполняются операторы за ключевым словом Then; если нет, то отыскивается первое истинное условие-n и выполняются операторы-n; в противном случае (все условия ложны) выполняются ИначеОператоры. После выполнения одной последовательности операторы управления передается на оператор, записанный за End If.

Пример:

If number>4

Then number=number+1

Else number=0

End If


 



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 597; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.196.184 (0.021 с.)