If...Then...Else Statement

Определяет один или несколько участков программы, которые должны выполняться, только если заданное условие имеет значение True.

Синтаксис


If condition=true Then Statement block [ElseIf condition=true Then] Statement block [Else] Statement block EndIf

Instead of Else If you can write ElseIf, instead of End If you can write 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

Please support us!