If...Then...Else utasítás
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ó.
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