Πρόταση If...Then...Else

Ορίζει ένα ή περισσότερα μπλοκ πρότασης που θέλετε να εκτελέσετε μόνο εάν μια δεδομένη συνθήκη ή έκφραση είναι True.

Σύνταξη:

Πρόταση If...EndIf


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

Instead of End If you can write EndIf.

tip

Οι προτάσεις If μπορούν να συντομευθούν σε μία γραμμή χρησιμοποιώντας μοναδικά μπλοκ προτάσεων.



  If condition Then statement [Else statement]

Παράμετροι:

Η πρόταση If...Then εκτελεί μπλοκ προγράμματος που εξαρτώνται από τις δεδομένες συνθήκες. Όταν η Basic του LibreOffice αντιμετωπίζει μια πρόταση If, ελέγχεται η συνθήκη. Εάν η συνθήκη είναι True, όλες οι επόμενες προτάσεις μέχρι την επόμενη Else ή ElseIf πρόταση εκτελούνται. Εάν η συνθήκη είναι False και μια πρόταση ElseIf ακολουθεί, η Basic του LibreOffice ελέγχει την επόμενη έκφραση και εκτελεί τις επόμενες προτάσεις εάν η συνθήκη είναι True. Εάν είναι False, το πρόγραμμα συνεχίζει είτε με την επόμενη ElseIf, είτε με την πρόταση Else. Οι προτάσεις που ακολουθούν την Else εκτελούνται μόνο εάν καμιά από τις προηγουμένως ελεγμένες συνθήκες δεν ήταν True. Μετά την αξιολόγηση όλων των συνθηκών και την εκτέλεση των αντίστοιχων προτάσεων, το πρόγραμμα συνεχίζει με την πρόταση που ακολουθεί την EndIf.

Μπορείτε να τοποθετηθείτε το πολλαπλές δηλώσεις If...Then την μία μέσα στην άλλη.

Στο Else και στο ElseIf οι δηλώσεις είναι προαιρετικές.

Εικονίδιο προειδοποίησης

Μπορείτε να χρησιμοποιήσετε την GoTo και την GoSub για να φύγετε έξω από ένα μπλοκ If...Then, αλλά όχι για να φύγετε έξω από μία δομή If...Then.


Παράδειγμα:

Το ακόλουθο παράδειγμα σάς επιτρέπει να εισαγάγετε την ημερομηνία λήξης ενός προϊόντος, και επιστρέφει την πληροφορία αν το προϊόν έληξε.


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 "Η ημερομηνία λήξης πέρασε"
    ElseIf dInput > Date() Then
        MsgBox "Η ημερομηνία λήξης δεν έχει περάσει ακόμα"
    Else
        MsgBox "Η ημερομηνία λήξης είναι σήμερα"
    End If
 
inputError:
    If dInput = 0 Then MsgBox "Invalid input"
End Sub

Πρόταση Select Case

Συναρτήσεις Iif ή Switch

Παρακαλούμε, υποστηρίξτε μας!