If...Then...Else Statement

Defineix un o més blocs d'expressions que només voleu executar si una condició determinada és certa.

Sintaxi:

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

En lloc d'Else If podeu escriure ElseIf, en lloc d'End If podeu escriure EndIf.

Paràmetres:

L'expressió If...Then executa blocs de programa segons les condicions determinades. Quan el LibreOffice Basic troba una expressió If, la condició es prova. Si la condició és certa, s'executen totes les expressions posteriors fins a la propera expressió Else o ElseIf. Si la condició és falsa, i una expressió ElseIf segueix, el LibreOffice Basic prova la següent condició i executa les expressions següents si la condició és certa. Si és falsa, el programa continua amb la següent expressió ElseIf o Else. Les expressions que segueixen a Else s'executen només si cap de les condicions que s'han provat anteriorment no era certa. Després d'avaluar totes les condicions, i d'executar les expressions corresponents, el programa continua amb l'expressió que segueix a EndIf.

Podeu imbricar múltiples expressions If...Then.

Les expressions Else i ElseIf són opcionals.

Icona d'avís

Podeu utilitzar GoTo i GoSub per saltar fora d'un bloc If...Then, però no per saltar dins d'una estructura If...Then.


L'exemple següent us permet introduir la data de venciment d'un producte, i determina si la data de venciment ha passat.

Exemple:

Sub ExampleIfThenDate

Dim sDate As String

Dim sToday As String

    sDate = InputBox("Introduïu la data de venciment (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 "La data de venciment ha passat"

    ElseIf sDate > sToday Then

        MsgBox "La data de venciment encara no ha passat"

    Else

        MsgBox "La data de venciment és avui"

    End If

End Sub