If...Then...Else Statement

Egy vagy több utasításblokkot definiál, amelyet egy megadott feltétel True értékénél szeretné futtatni.

Szintaxis:

If feltétel=true Then Utasításblokk [ElseIf feltétel=true Then] Utasításblokk [Else] Utasításblokk EndIf

Az Else If helyett használhatja az ElseIf és az End If helyett használhatja az EndIf kulcssavakat is.

Paraméterek:

Az If...Then utasítás az adott feltételtől függően hajtja végre a programblokkokat. Ha a LibreOffice Basic egy If utasítást talál, akkor megvizsgálja a feltételt. Ha a feltétel igaz, akkor végrehajtja a következő Else vagy ElseIf utasítás előtt levő utasításokat. Ha a feltétel hamis, és egy ElseIf utasítás következik, akkor a LibreOffice Basic megvizsgálja a következő feltételt, és ha igaz, akkor végrehajtja a következő utasításokat. Ha hamis, akkor a program a következő ElseIf vagy Else utasítással folytatódik. Az Else után levő utasítások csak akkor kerülnek végrehajtásra, ha a korábban vizsgált egyik feltétel sem volt igaz. Az összes feltétel kiértékelése és a megfelelő utasítások végrehajtása után a program az EndIf után utasítással folytatódik.

Több If...Then utasítást is egymásba ágyazhat.

Az Else és ElseIf utasítás elhagyható.

Figyelmeztetés ikon

A GoTo és GoSub utasítás segítségével kiugorhat egy If...Then blokkból, de nem ugorhat másik If...Then struktúrára.


A következő példa lehetővé teszi egy termék lejárati idejének megadását, és meghatározza, hogy ez a bizonyos határidő lejárt-e már.

PĂ©lda:

Sub ExampleIfThenDate

Dim sDate As String

Dim sToday As String

    sDate = InputBox("Adja meg az érvényesség végét (HH.NN.ÉÉÉÉ)")

    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 "Az érvényesség lejárt"

    ElseIf sDate > sToday Then

        MsgBox "Az érvényesség még nem járt le"

    Else

        MsgBox "Ma van az érvényessé vége"

    End If

End Sub