Інструкція 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