Επιστρέφει μια δυαδική τιμή που υποδεικνύει εάν ένα προαιρετικό όρισμα μεταβλητής έχει περάσει σε μια διαδικασία.
Σύνταξη
IsMissing(argname)
Το απαιτούμενο όρισμα argname περιέχει το όνομα ενός προαιρετικού ορίσματος διαδικασίας μεταβλητής .
Παρατηρήσεις
Χρησιμοποιήστε τη συνάρτηση IsMissing για να εντοπίσετε εάν έχουν παρασχεθεί ή όχι προαιρετικά ορίσματα μεταβλητής στην κλήση μιας διαδικασίας. Η συνάρτηση IsMissing επιστρέφει True εάν δεν έχει μεταβιβαστεί τιμή για το συγκεκριμένο όρισμα. Διαφορετικά, επιστρέφει την τιμή False. Εάν η τιμή IsMissing επιστρέψει True για ένα όρισμα, η χρήση του ορίσματος που λείπει σε άλλον κώδικα μπορεί να προκαλέσει ένα σφάλμα που ορίζεται από το χρήστη. Εάν χρησιμοποιηθεί η συνάρτηση IsMissing σε ένα όρισμα ParamArray , επιστρέφει πάντα την τιμή False. Για να εντοπίσετε ένα κενό ParamArray, ελέγξτε εάν το ανώτερο όριο του πίνακα είναι μικρότερο από το κατώτερο όριό του.
Σημείωση
Το IsMissing δεν λειτουργεί σε απλούς τύπους δεδομένων (όπως ακέραιος ή διπλός) επειδή, σε αντίθεση με τις παραλλαγές, δεν υπάρχει πρόβλεψη για ένα bit σημαίας "που λείπει". Γι' αυτόν τον λόγο, η σύνταξη για τα προαιρετικά ορίσματα που πληκτρολογείτε σάς επιτρέπει να καθορίσετε μια προεπιλεγμένη τιμή. Εάν το όρισμα παραλειφθεί όταν καλείται η διαδικασία, τότε το όρισμα θα έχει αυτήν την προεπιλεγμένη τιμή, όπως στο παρακάτω παράδειγμα:
Σημείωση
Τα παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε " Αναφορά προγραμματιστών " στην αναπτυσσόμενη λίστα δίπλα στην επιλογή "Αναζήτηση " και εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Σε πολλές περιπτώσεις, μπορείτε να παραλείψετε εντελώς τον If MyVar έλεγχο, καθιστώντας την προεπιλεγμένη τιμή ίση με την τιμή που θέλετε MyVar να περιέχει εάν ο χρήστης την παραλείψει από την κλήση της συνάρτησης. Αυτό κάνει τον κώδικά σας πιο συνοπτικό και αποτελεσματικό.
Παράδειγμα
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση IsMissing για να ελέγξει εάν ένα προαιρετικό όρισμα έχει περάσει σε μια διαδικασία που ορίζεται από το χρήστη. Σημειώστε ότι τα προαιρετικά ορίσματα μπορούν πλέον να έχουν προεπιλεγμένες τιμές και τύπους εκτός της μεταβλητής.
Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function