- •1. Оператор присваивания
- •2. Операторы ввода-вывода
- •2.1. Оператор и функция MsgBox
- •2.2. Функция InputBox
- •2.3. Условный оператор if
- •1.3. Оператор выбора Select Case
- •1.4. Операторы цикла
- •Методы объекта Application
- •10. Объект Word.Document, программная работа со свойствами и методами документа в vba
- •12. Объект windows. Свойства, методы, события.
- •11. Семейство windows. Назначение, свойства, методы.
2.3. Условный оператор if
Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:
If УСЛОВИЕ Then ОПЕРАТОР_1 Else ОПЕРАТОР_2
ОПЕРАТОР_1 выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2.При этом оператор If…Then…Else записывается в одну строку.
УСЛОВИЕ – это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 2.3.1.
Таблица 2.3.1. Логические отношения
Операция |
Название |
Выражение |
Результат |
= |
Равно |
A = В |
True, если А равно В |
<> |
Не равно |
A<>В |
True, если А не равно В |
> |
Больше |
А>B |
True, если А ,больше В |
< |
Меньше |
A<B |
True, если А меньше В |
>= |
Больше или равно |
A>=B |
True, если А больше или равно В |
<= |
Меньше или равно |
A<=B |
True, если А меньше или равно В |
Сложные условия образуются из простых путем применения логических операций и круглых скобок. Список логических операций приведен в табл. 2.3.2.
Таблица 3.2. Логические операции
|
Название |
Выражение |
А |
В |
Результат |
Not |
Логическое отрицание |
Not A |
False True |
|
True False |
And |
Логическое И |
A And B |
True True False False |
True False True False |
True False False False |
Or |
Логическое ИЛИ |
A Or B |
True True False False |
True False True False |
True True True False |
В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:
If УСЛОВИЕ Then
БЛОК_ОПЕРАТОРОВ_1
Else
БЛОК_ОПЕРАТОРОВ_2
End If
В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:
If УСЛОВИЕ_1 Then
БЛОК_ОПЕРАТОРОВ_1
ElseIf УСЛОВИЕ_2 Then
БЛОК_ОПЕРАТОРОВ_2
Else
….
End If
1.3. Оператор выбора Select Case
Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:
Select Case ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ
Case ЗНАЧЕНИЯ_1
ОПЕРАТОРЫ_1
Case ЗНАЧЕНИЯ_2
ОПЕРАТОРЫ_2
. . .
Case ЗНАЧЕНИЯ_N
ОПЕРАТОРЫ_N
[Case Else
ИНАЧЕ_ОПЕРАТОРЫ]
End Select
ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯсостоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.
Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ.
Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значенийЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятсяИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select
