Περιεχόμενα

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

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

### Σύνταξη:

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

Αντί για Else If μπορείτε να γράψετε ElseIf, αντί για End If μπορείτε να γράψετε EndIf.

Οι προτάσεις 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 sDate As String
        Dim sToday As String
        sDate = InputBox("Εισαγάγετε την ημερομηνία λήξης (MM.ΗΗ.ΕΕΕΕ")
        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 "Η ημερομηνία λήξης πέρασε"
        ElseIf sDate > sToday Then
            MsgBox "Η ημερομηνία λήξης δεν έχει περάσει ακόμα"
        Else
            MsgBox "Η ημερομηνία λήξης είναι σήμερα"
        End If
    End Sub

Σχετικά θέματα

Πρόταση Select Case

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