If...Then...Else Statement
Definierar ett eller flera statementblock som du bara vill köra om ett givet villkor är sant.
Syntax:
If villkor=true Then Satsblock [ElseIf villkor=true Then] Satsblock [Else] Satsblock EndIf
I stället för att skriva Else If så kan du skriva ElseIf, i stället för End If så kan du skriva EndIf.
Parametrar:
If...Then-uttrycket kör programblock beroende på angivna villkor. När LibreOffice Basic påträffar ett If-uttryck prövas villkoret. Om villkoret är sant körs alla följande uttryck fram till nästa Else-uttryck eller ElseIf-uttryck. Om villkoret är falskt och ett ElseIf-uttryck följer så testar LibreOffice Basic nästa villkor och kör de följande uttrycken om villkoret är sant. Om villkoret är falskt fortsätter programmet med nästa ElseIf-uttryck eller Else-uttryck. Uttryck som följer efter Else körs bara om inget av de nyligen testade villkoren var sant. När alla villkor har utvärderats och motsvarande uttryck körts, fortsätter programmet med uttrycket som följer efter EndIf.
Du kan sammanfläta flera If...Then-satser.
Else-satser och ElseIf-satser är valfria.
Du kan använda GoTo och GoSub för att hoppa ut ur ett If...Then-block, men inte för att hoppa in i en If...Then-struktur.
Följande exempel visar hur du anger utgångsdatum för en produkt, och bestämmer om utgångsdatum har passerat.
Exempel:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Ange utgångsdatum (MM.DD.ÅÅÅÅ)")
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 "Utgångsdatumet har varit"
ElseIf sDate > sToday Then
MsgBox "Utgångsdatumet har inte varit"
Else
MsgBox "Utgångsdatumet är i dag"
End If
End Sub