![]() ![]() колонтитул в word 2007, 0000002111
Логические операторы VBA
В качестве операнда для логического оператора можно использовать любое действительное выражение, имеющее результат типа Boolean, а также число, которое может быть преобразовано в значение типа Boolean. Результатом логической операции является значение типа Boolean (или Null, если хотя бы один из операндов имеет значение Null).
|
Операнд_1 | Операнд_2 | Результат |
True | True | True |
True | False | False |
False | True | False |
False | False | False |
Оператор AND можно использовать для нескольких операндов:
(5<7) AND (4>3) AND (5=6) результатом будет False
Независимо от количества операндов результатом логической операции AND будет True только в том случае, когда все операнды выражения будут иметь значение True. В любом другом случае результатом будет False. Обратите внимание, что операнды заключаются в круглые скобки. VBA сначала вычисляет значение каждого операнда внутри скобок, а затем уже все выражение полностью.
Синтаксис: Операнд_1 OR Операнд_2
Оператор OR выполняет логическую дизъюнкцию.
Результатом данной операции является значение True, если хотя бы один из операндов имеет значение True, иначе - False.
Таблица истинности
Операнд_1 | Операнд_2 | Результат |
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Оператор OR можно использовать для нескольких операндов:
(5<7) OR (4>3) OR (5=6) результатом будет True
Независимо от количества операндов результатом логической операции OR будет всегда True в том случае, если хотя бы один из операндов выражения будет иметь значение True. Иначе результатом будет False.
Операторы AND и OR можно комбинировать:
((5<7) AND (4>3)) OR (5=6) результатом будет True
Синтаксис: NOT Операнд
Оператор NOT выполняет логическое отрицание.
Оператор NOT использует только один операнд.
Таблица истинности
Операнд | Результат |
True | False |
False | True |
Операторы AND OR NOT можно комбинировать:
((5<7) AND (4>3)) OR NOT (5=6) результатом будет True
Синтаксис: Операнд_1 XOR Операнд_2
Оператор XOR выполняет логическое исключение.
Результатом данной операции является значение True, если операнды имеют разные значения, иначе - False.
Таблица истинности
Операнд_1 | Операнд_2 | Результат |
True | True | False |
True | False | True |
False | True | True |
False | False | False |
((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5) результатом будет False
Синтаксис: Операнд_1 EQV Операнд_2
Оператор EQV - это оператор логической эквивалентности.
Результатом данной операции является значение True, если операнды имеют одинаковые значения, иначе - False.
Таблица истинности
Операнд_1 | Операнд_2 | Результат |
True | True | True |
True | False | False |
False | True | False |
False | False | True |
((5<7) AND (4>3)) OR NOT (5=6) EQV (5=5) результатом будет True
Синтаксис: Операнд_1 IMP Операнд_2
Оператор IMP выполняет логическую операцию импликации.
Таблица истинности
Операнд_1 | Операнд_2 | Результат |
True | True | True |
True | False | False |
False | True | True |
False | False | True |
((5<7) AND (4>3)) OR NOT (5=6) IMP (5=5) результатом будет True
Логический оператор IMP наименее интуитивно понятный из всех логических операторов. К счастью, необходимость в его применении возникает довольно редко.