If...Then...Else-udtryk
Angiver en eller flere sætningsblokke, som du kun vil udføre, hvis en given betingelse er sand.
Syntaks:
If betingelse=true Then Sætningsblok [ElseIf betingelse=true Then] Sætningsblok [Else] Sætningsblok EndIf
I stedet for Else If kan du skrive ElseIf, i stedet for End If kan du skrive EndIf.
Parametre:
Sætningen If...Then udfører programblokke afhængigt af givne betingelser. Når LibreOffice Basic møder en If- sætning, bliver betingelsen afprøvet. Hvis betingelsen er sand, vil alle efterfølgende sætninger op til næste Else eller ElseIf- sætning, blive udført. Hvis betingelsen er falsk, og en ElseIf sætning følger, så tester LibreOffice den næste betingelse og udfører følgende sætninger hvis betingelsen er sand. Hvis den er falsk, vil programmet fortsætte enten med næste ElseIf eller Else- sætning. Sætninger efterfølgende Else bliver kun udført hvis ingen af de tidligere afprøvede betingelser var sande. Efter at alle betingelser er validerede, og de tilsvarende sætninger udførte, fortsætter programmet med sætningen der følger EndIf.
Du kan indlejre gentagne If...Then- sætninger.
Else og ElseIf- sætninger er valgfrie.
Du kan bruge GoTo og GoSub for at hoppe ud af en If...Then- blok, men ikke til at hoppe ind i en If...Then struktur.
Følgende eksempel lader dig indtaste udløbsdatoen på et produkt, og bestemmer om udløbsdatoen er overskredet.
Eksempel:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDato = InputBox("Angiv udløbsdatoen (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 "Udløbsdatoen er overskredet"
ElseIf sDate > sToday Then
MsgBox "Udløbsdatoen er endnu ikke passeret"
Else
MsgBox "Udløbsdatoen er i dag"
End If
End Sub