Module
Contents
Index 🔎︎

# Příkaz If...Then...Else

Určuje jeden či více bloků příkazů, které chcete spustit, pouze je-li daná podmínka True.

## Syntaxe:

    If podmínka=true Then Blok příkazů [ElseIf podmínka=true Then] Blok příkazů [Else] Blok příkazů EndIf

Místo Else if můžete psát ElseIf, místo End If můžete psát EndIf.

## Parametry:

Příkaz If...Then spustí blok příkazů v závislosti na dané podmínce. Když LibreOffice Basic narazí na příkaz If, ověří podmínku. Je-li podmínka True, spustí se všechny následující příkazy až do příštího příkazu Else nebo ElseIf. Je-li podmínka False a následuje příkaz ElseIf, LibreOffice Basic ověří podmínku a spustí následující příkazy, je-li podmínka True. Je-li False, program přeskočí příkazy až k dalšímu příkazu ElseIf nebo Else. Příkazy následující za příkazem Else se spustí pouze, nebyla-li žádná z předchozích podmínek splněna. Po vyhodnocení všech podmínek a spuštění odpovídajících příkazů pokračuje program příkazy následujícími po EndIf.

Možné je do sebe vložit více příkazů If...Then.

Příkazy Else a ElseIf jsou volitelné.

Pomocí příkazů GoTo a GoSub je možné vyskočit z bloku If...Then, ale není možné skočit do struktury If...Then.

Následující příklad vám umožní zadat datum konce trvanlivosti výrobku a určí, zda již toto datum bylo překročeno.

## Příklad:

    Sub ExampleIfThenDate

    Dim sDate As String

    Dim sToday As String

        sDate = InputBox("Zadejte trvanlivost (MM.DD.YYYY)")

        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 "Trvanlivost již vypršela"

        ElseIf sDate > sToday Then

            MsgBox "Trvanlivost ještě nevypršela"

        Else

            MsgBox "Datum trvanlivosti je dnes"

        End If

    End Sub