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

Fragment ElseIf

Fragment Else


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

Zamiast Else If możesz napisać ElseIf, 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 sDate As String
    Dim sToday As String
    sDate = InputBox("Wprowadź termin ważności (MM.DD.RRRR)")
    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 "Termin przydatności minął."
    ElseIf sDate > sToday Then
        MsgBox "Termin przydatności nie minął."
    Else
        MsgBox "Termin przydatności mija dzisiaj."
    End If
End Sub

Instrukcja Select Case

Funkcje Iif lub Switch

Prosimy o wsparcie!