If...Then...Else-instructie

Definieert één of meer instructieblokken die alleen moeten worden uitgevoerd als een bepaalde voorwaarde Waar is.

Syntaxis:


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

In plaats van Als Of kunt u AlsOf gebruiken, in plaats van Einde Of kunt u EindeOf gebruiken.

Parameters:

De If...Then-instructie wordt gebruikt om programmablokken, afhankelijk van bepaalde voorwaarden, uit te voeren. Wanneer LibreOffice BASIC een If-instructie tegenkomt wordt de voorwaarde getest. Als deze Waar is worden alle erop volgende insructies tot de volgende Else of ElseIf-instructie uitgevoerd. Als de voorwaarde Onwaar is en een ElseIf-instructie volgt, test LibreOffice BASIC de volgende voorwaarde en voert de volgende instructies uit als de voorwaarde Waar is. Indien Onwaar vervolgt het programma of met de volgende ElseIf of Else-instructie. Instructies die volgen op Else worden alleen uitgevoerd als geen van de eerder geteste voorwaarden Waar was. Nadat alle voorwaarden zijn geëvalueerd en de overeenkomstige instructies zijn uitgevoerd, vervolgt het programma met de uitdrukking volgend op EndIf.

Er kunnen meerdere If...Then-instructies worden genest.

Else- en ElseIf-instructies zijn optioneel.

Waarschuwingspictogram

U kunt wel GoTo en GoSub gebruiken om uit een If...Then blok te springen, maar niet om een If...Then structuur binnen te springen.


In het volgende voorbeeld kunt u de vervaldatum van een produkt invoeren, het resultaat geeft aan of de vervaldatum is gepasseerd.

Voorbeeld:


Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
    sDatum = InputBox("Voer de vervaldatum in : (DD-MM-JJJJ)")
    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 "De vervaldatum is gepasseerd."
    ElseIf sDate > sToday Then
        MsgBox "De vervaldatum is nog niet gepasseerd."
    Else
        MsgBox "De vervaldatum is vandaag."
    End If
End Sub

Help ons, alstublieft!