ign="justify"> буде забракований інтерпретатором (помилка невідповідності типу).
Перейдемо тепер до логічних виразів. У наведеному вище визначенні логічний тип Boolean взагалі не вказаний в якості можливого результату виразу, хоча він є одним з простих типів мови. При цьому перетворення автоматично проводяться в обидві сторони:
. При розгляді числових виразів як логічних відбувається їх обчислення і значення 0 перетвориться в False (Брехня), а всі інші значення - в True (Істина). p align="justify">. Рядкові вирази зі значеннями False, Брехня (розподіл великих і малих літер у цих словах може бути довільним), а також строкові значення, що задають число 0 (наприклад, "0 00 0"), перетворюються в False (Брехня). Вирази зі значеннями True і Істина, а також рядки, що задають всі інші числа, - в True (Істина). Рядки Брехня і Істина приводяться до логічним значенням тільки в локалізованої версії. p align="justify">. Якщо значення типу Boolean наводяться до числових типів даних, то False перетворюється в 0, а True в -1. Тут також проявляється "специфіка" VBA - у всіх відомих мовами Істина більше, ніж Брехня, і тому числовим значенням True є 1, а не -1. ​​p align="justify">. Якщо значення типу Boolean наводяться до строкового типу, то False перетворюється в False в оригінальній версії Office 97 і в рядок Брехня в локалізованої, а True в - True в оригінальній версії і в Істина - у локалізованої версії. p align="justify"> Розглянемо як приклад наступну процедуру.
Sub ex () b1 As Boolean, b2 As Booleanx1 As IntegerS1 As String, S2 As String
b1 = 1.5 'b1 = Істіна.Print 1.5, "приводиться до", b1
x1 = 10 + b1.Print "10 + Істина =", x1 = 9 - x1 = S1 & "00". Print "S1 =", S1, " b2 = ", b2 x1 = (10> 5) _ 5
. Print "(10> 5) _ 5 =", x1 = "True": x1 = b1.Print "True", x1.Print "True> False = ", True> False
End Sub
У результаті її виконання у вікні Перевірка будуть надруковані наступні рядки:
, 5 приводиться до Істина
+ Істина = 9 = 0 b2 = Брехня
(10> 5) _ 5 = -5 -1> False = Брехня
В оригінальній версії Office 97 замість слів Істина і Брехня будуть надруковані слова True та False. Зауважимо, що в локалізованої і оригінальною версіях рядкові змінні будуть приймати різні значення, коли їм присвоюються булеві вирази. Тут криється можливе джерело помилок, так як можна змусити одну і ту ж програму працювати по-різному в оригінальній і локалізованої версіях. p align="justify"> Як показує приклад, вирази виду (x1> 5) можна розглядати і використовувати як звичайні числові вирази.
Математичні оператори в Visual Basic (у порядку, в якому вони будуть вирішуватися):
() дужки