Instrukcja If...Then...Else

Określa jeden lub więcej bloków instrukcji, które chcesz wykonać tylko wtedy, gdy dany warunek lub wyrażenie jest True.

Składnia:

Instrukcja If...EndIf


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

Zamiast End If możesz napisać EndIf.

tip

Instrukcje If można skrócić do jednej linii, gdy używane są pojedyncze bloki instrukcji.



  If condition Then statement [Else statement]

Parametry:

Instrukcja If...Then wykonuje bloki programu w zależności od zadanych warunków. Gdy LibreOffice Basic napotyka instrukcję If, warunek jest sprawdzany. Jeśli warunek to True, wykonywane są wszystkie kolejne instrukcje aż do następnej instrukcji Else lub ElseIf. Jeśli warunek to False i następuje instrukcja ElseIf, LibreOffice Basic sprawdza następne wyrażenie i wykonuje następujące instrukcje, jeśli warunek to True. Jeśli False, program kontynuuje z następną instrukcją ElseIf albo Else. Instrukcje następujące po Else są wykonywane tylko wtedy, gdy żaden z wcześniej przetestowanych warunków nie był True. Po obliczeniu wszystkich warunków i wykonaniu odpowiednich instrukcji program kontynuuje wykonywanie instrukcji następującej po EndIf.

Instrukcje If...Then można zagnieżdżać.

Instrukcje Else i ElseIf są opcjonalne.

Ikona ostrzeżenia

Aby wyskoczyć z bloku If...Then, można użyć poleceń GoTo i GoSub. Nie można natomiast używać, aby przejść do struktury If...Then.


Przykład:

Poniższy przykład pozwala na wprowadzenie terminu ważności produktu i określa, czy termin ten minął.


Sub ExampleIfThenDate
    Dim sInput As String
    Dim dInput As Date
 
  On Error Goto inputError
    sInput = InputBox("Wprowadź datę ważności (YYYY-MM-DD)")
    dInput = DateValue(sInput)
 
    If dInput < Date() Then
        MsgBox "Termin przydatności minął."
    ElseIf dInput > Date() Then
        MsgBox "Termin przydatności nie minął."
    Else
        MsgBox "Termin przydatności mija dzisiaj."
    End If
 
inputError:
    If dInput = 0 Then MsgBox "Nieprawidłowe dane wejściowe"
End Sub

Instrukcja Select Case

Funkcje Iif lub Switch

Prosimy o wsparcie!