Інструкція If...Then...Else
Визначає одну або декілька ділянок програми, які повинні виконуватися у випадку, якщо задана умова має значення True.
Синтаксис:
If Умова=true Then блок інструкцій [ElseIf умова=true Then] блок інструкцій [Else] блок інструкцій EndIf
Замість Else If можна вписати ElseIf, а замість End If - EndIf.
Параметри:
Інструкція If...Then використовується для виконання ділянок програми залежно від заданих умов. Коли LibreOffice Basic зустрічає інструкцію If, то перевіряється логічна умова. Якщо вона дорівнює True, то виконуються всі подальші інструкції аж до наступної інструкції Else або ElseIf. Якщо ця умова рівна False і зустрічається інструкція ElseIf LibreOffice Basic перевіряє наступну умову і виконує подальші інструкції, якщо вона дорівнює True. Коли ж вона дорівнює False, програма переходить до наступної інструкції ElseIf або Else. Інструкції після Else виконуються тільки в тому випадку, якщо жодна із попередніх умов не дорівнювала True. Після того, як усі умови перевірені і відповідні інструкції виконані, програма переходить до інструкції, наступної за EndIf.
Інструкції If...Then можна вкладати одну в одну.
Else і ElseIf - необов'язкові інструкції.
Можна використовувати GoTo і GoSub, щоб вийти з частини програми, обмеженої If...Then, але не можна з їх допомогою увійти в структуру If...Then.
Наступний приклад дає можливість ввести термін придатності продукту і повідомляє, чи минув цей термін придатності.
Приклад:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Введіть термін придатності (ММ.ДД.РРРР)")
sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
sToday = Date$
sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
If sDate < sToday Then
MsgBox "Термін придатності минув"
ElseIf sDate > sToday Then
MsgBox "Термін придатності ще не минув"
Else
MsgBox "Термін придатності минає сьогодні"
End If
End Sub