If...Then...Else Statement

Defines one or more statement blocks that you only want to execute if a given condition or expression is True.

Sintaxi:

IFENDIF expressió


  If condition Then 
      statements
  [{ElseIf} condition Then
      statements]
  [Else 
      statements]
  {EndIf|End If}

Instead of End If you can write EndIf.

Icona de consell

Si les expressions es poden escurçar a una línia quan s'utilitzen blocs d'expressió simples.



  If condition Then statement [Else statement]

Paràmetres:

L'expressió If…Then executa blocs de programa depenent d'unes certes condicions. Quan el LibreOffice BASIC troba una expressió If, es prova la condició. Si la condició és True, s'executen totes les expressions posteriors fins a la següent expressió Else o ElseIf. Si la condició és False i li segueix una expressió ElseIf, el LibreOffice BASIC prova la següent expressió i executa les expressions següents si la condició és True. Si és False, 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 provades anteriorment va ser True. Una vegada avaluades totes les condicions i executades 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.


Exemple:

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


Sub ExampleIfThenDate
    Dim sInput As String
    Dim dInput As Date
 
  On Error Goto inputError
    sInput = InputBox("Enter the expiration date (YYYY-MM-DD)")
    dInput = DateValue(sInput)
 
    If dInput < Date() Then
        MsgBox "La data de venciment ha passat"
    ElseIf dInput > Date() Then
        MsgBox "La data de venciment encara no ha passat"
    Else
        MsgBox "La data de venciment és avui"
    End If
 
inputError:
    If dInput = 0 Then MsgBox "Invalid input"
End Sub
Ens cal la vostra ajuda!

Ens cal la vostra ajuda!