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.

Advarselsikon

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