Contents
Index 🔎︎

# 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