If...Then...Else sakinys

Apibrėžia vieną ar daugiau sakinių blokų, kuriuos norite vykdyti tik tuo atveju, jei tam tikros sąlygos ar reiškinio reikšmė yra True.

Sintaksė:

If...EndIf sakinys

ElseIf fragmentas

Else fragmentas


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

Vietoj Else If galite rašyti ElseIf, vietoj End If galite rašyti EndIf.

tip

If sakinius galima sutrumpinti iki vienos eilutės, naudojant atskirus sakinių blokus.



  If condition Then statement [Else statement]

Parametrai:

If...Then sakinys vykdo programos blokus priklausomai nuo nurodytų sąlygų. Kai „LibreOffice Basic“ susiduria su If sakiniu, vykdoma sąlyga. Jei sąlyga yra True, visi vienas po kito einatys sakiniai yra vykdomi iki tol, kol sutinkamas Else arba ElseIf sakinys. Jei sąlyga lygi False ir yra ElseIf sakinio dalis, tai „LibreOffice Basic“ tikrina tikrina tolesnį reiškinį ir vykdo tolesnius sakinius, jei sąlyga yra True. Jei sąlyga yra False, tai programa tęsia darba arba nuo ElseIf, arba nuo Else sakinio. Sakiniai, einantys po Else, vykdomi tik tada, jei anksčiau testuotos sąlygos buvo True. Įvertinus visas sąlygas ir įvykdžius atitinkamus sakinius, programa toliau vykdo sakinius, einančius po EndIf.

Sakinius If...Then galite įdėti vieną į kitą daug kartų.

Else ir ElseIf sakinių dalys yra neprivalomos, pasirinktinės.

Warning Icon

Galite naudoti GoTo ir GoSub norėdami peršokti If...Then bloką, tačiau negalima šokti į struktūros If...Then vidų.


Pavyzdys:

Šis pavyzdys leidžia įvesti produkto galiojimo datą ir nustatyti, ar galiojimo laikas praėjo.


Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
    sDate = InputBox("Įveskite galiojimo datą (YYYY-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 "Galiojimo laikas praėjo"
    ElseIf sDate > sToday Then
        MsgBox "Galiojimo laikas dar nepraėjo"
    Else
        MsgBox "Galiojimas baigsis šiandien"
    End If
End Sub

Pasirinkti Case sakinį

Iif arba Switch funkcijos

Paremkite mus!