Πίνακας περιεχομένων:
Βίντεο: Map - Part 2 of Functional Programming in JavaScript 2025
Παρόλο που είναι πολύ σημαντικό να γνωρίζεις πώς να κάνεις αναφορά σε αντικείμενα, δεν μπορείς να κάνεις κανένα χρήσιμο προγραμματισμό του Excel VBA απλά αναφέροντας ένα αντικείμενο. Για να ολοκληρώσετε κάτι σημαντικό, πρέπει να κάνετε ένα από τα εξής δύο:
-
Διαβάστε ή τροποποιήστε τις ιδιότητες ενός αντικειμένου.
-
Καθορίστε μια μέθοδο της δράσης που θα χρησιμοποιηθεί με ένα αντικείμενο.
Διαθέτοντας κυριολεκτικά χιλιάδες ιδιότητες και μεθόδους, μπορείτε εύκολα να είστε συγκλονισμένοι. Απλά θυμηθείτε, δεν θα χρειαστεί ποτέ να χρησιμοποιήσετε τις περισσότερες από τις διαθέσιμες ιδιότητες και μεθόδους.
Ιδιότητες αντικειμένου
Κάθε αντικείμενο έχει ιδιότητες. Μπορείτε να σκεφτείτε ιδιότητες ως χαρακτηριστικά που περιγράφουν το αντικείμενο. Οι ιδιότητες ενός αντικειμένου καθορίζουν πώς φαίνεται, πώς συμπεριφέρεται, ακόμα και αν είναι ορατή. Χρησιμοποιώντας το VBA, μπορείτε να κάνετε δύο πράγματα με τις ιδιότητες ενός αντικειμένου:
-
Εξετάστε την τρέχουσα ρύθμιση για μια ιδιότητα.
-
Αλλάξτε τη ρύθμιση της ιδιότητας.
Για παράδειγμα, ένα αντικείμενο κυψελίδας ενός κυττάρου έχει μια ιδιότητα που ονομάζεται Value. Η ιδιότητα Τιμή αποθηκεύει την τιμή που περιέχεται στο κελί. Μπορείτε να γράψετε κώδικα VBA για να εμφανίσετε την ιδιότητα Value ή μπορείτε να γράψετε κώδικα VBA για να ορίσετε την ιδιότητα Value σε μια συγκεκριμένη τιμή. Η ακόλουθη μακροεντολή χρησιμοποιεί την ενσωματωμένη λειτουργία MsgBox της VBA για να εμφανίσει ένα πλαίσιο που εμφανίζει την τιμή στο κελί A1 στο φύλλο1 του ενεργού βιβλίου εργασίας:
Sub ShowValue () Περιεχόμενα = Φύλλα εργασίας ("Φύλλο1"). Εύρος ("A1"). Τιμή MsgBox Περιεχόμενα End Sub
Παρεμπιπτόντως, το MsgBox είναι μια πολύ χρήσιμη λειτουργία. Μπορείτε να το χρησιμοποιήσετε για να εμφανίσετε αποτελέσματα ενώ το Excel εκτελεί τον κώδικα VBA.
Ο κώδικας στο προηγούμενο παράδειγμα εμφανίζει την τρέχουσα ρύθμιση της ιδιότητας τιμής ενός κελιού. Τι γίνεται αν θέλετε να αλλάξετε τη ρύθμιση για αυτήν την ιδιότητα; Η ακόλουθη μακροεντολή αλλάζει την τιμή στο κελί A1, αλλάζοντας την ιδιότητα Value της κελιά:
Sub ChangeValue () Φύλλα εργασίας ("Φύλλο1"). Εύρος ("A1"). Value = 994. 92 End Sub
Αφού το Excel εκτελέσει αυτήν τη διαδικασία, το κελί A1 στο φύλλο1 του ενεργού βιβλίου εργασίας περιέχει την τιμή 994. 92. Εάν το ενεργό βιβλίο εργασίας δεν έχει ένα φύλλο με το όνομα Sheet1, το αποτέλεσμα της εκτέλεσης αυτής της μακροεντολής είναι ένα μήνυμα σφάλματος. Το VBA ακολουθεί απλώς τις οδηγίες και δεν μπορεί να λειτουργήσει με ένα φύλλο που δεν υπάρχει.
Κάθε αντικείμενο έχει το δικό του σύνολο ιδιοτήτων, αν και ορισμένες ιδιότητες είναι κοινές σε πολλά αντικείμενα. Για παράδειγμα, πολλά (αλλά όχι όλα) αντικείμενα έχουν μια ιδιότητα Visible. Τα περισσότερα αντικείμενα έχουν επίσης μια ιδιότητα Όνομα.
Ορισμένες ιδιότητες αντικειμένου είναι ιδιότητες μόνο για ανάγνωση, πράγμα που σημαίνει ότι ο κώδικας μπορεί να πάρει την αξία της ιδιότητας αλλά δεν μπορεί να την αλλάξει.
Μια συλλογή είναι επίσης ένα αντικείμενο. Αυτό σημαίνει ότι μια συλλογή έχει επίσης ιδιότητες. Για παράδειγμα, μπορείτε να προσδιορίσετε πόσα βιβλία εργασίας είναι ανοιχτά με πρόσβαση στην ιδιότητα "Αρίθμηση" της συλλογής βιβλίων εργασίας. Η ακόλουθη διαδικασία VBA εμφανίζει ένα πλαίσιο μηνύματος που σας ενημερώνει πόσα βιβλία εργασίας είναι ανοιχτά:
Sub CountBooks () MsgBox Workbooks. Count End Sub
Μέθοδοι αντικειμένου
Εκτός από τις ιδιότητες, τα αντικείμενα έχουν μεθόδους. Μια μέθοδος είναι μια ενέργεια που εκτελείτε με ένα αντικείμενο. Μια μέθοδος μπορεί να αλλάξει τις ιδιότητες ενός αντικειμένου ή να κάνει το αντικείμενο να κάνει κάτι.
Αυτό το απλό παράδειγμα χρησιμοποιεί τη μέθοδο ClearContents σε αντικείμενο Range για να διαγράψει τα περιεχόμενα των 12 κελιών στο ενεργό φύλλο:
Sub ClearRange () Range ("A1: A12"). ClearContents End Sub
Ορισμένες μέθοδοι λαμβάνουν ένα ή περισσότερα επιχειρήματα. Ένα όρισμα είναι μια τιμή που καθορίζει περαιτέρω τη δράση που πρέπει να εκτελεστεί. Τοποθετείτε τα επιχειρήματα για μια μέθοδο μετά τη μέθοδο, χωρισμένη με ένα κενό. Τα πολλαπλά επιχειρήματα διαχωρίζονται με κόμμα.
Το ακόλουθο παράδειγμα ενεργοποιεί το φύλλο1 (στο ενεργό βιβλίο εργασίας) και στη συνέχεια αντιγράφει τα περιεχόμενα του κελιού A1 στο κελί B1 χρησιμοποιώντας τη μέθοδο αντιγραφής του αντικειμένου της εμβέλειας. Σε αυτό το παράδειγμα, η μέθοδος αντιγραφής έχει ένα όρισμα, το οποίο είναι το εύρος προορισμού για τη λειτουργία αντιγραφής:
Υποτίτλων εργασίας ("Φύλλο1") Sub CopyOne (). Ενεργοποίηση εύρους ("A1"). Περιοχή αντιγραφής ("B1") End Sub
Παρατηρήστε ότι η αναφορά του φύλλου εργασίας παραλείφθηκε όταν αναφέρθηκαν τα αντικείμενα Range. Αυτό μπορεί να γίνει με ασφάλεια, επειδή χρησιμοποιήθηκε μια δήλωση για ενεργοποίηση του Φύλλου1. (χρησιμοποιώντας τη μέθοδο Ενεργοποίηση).
Ένας άλλος τρόπος για να καθορίσετε ένα όρισμα για μια μέθοδο είναι να χρησιμοποιήσετε το επίσημο όνομα του όρου που ακολουθείται από ένα παχύ έντερο και ένα ισότιμο σημάδι. Η χρήση των οριζόμενων παραδειγμάτων είναι προαιρετική, αλλά με αυτόν τον τρόπο μπορείτε συχνά να καταστήσετε τον κώδικα σας πιο κατανοητό. Η δεύτερη δήλωση στη διαδικασία CopyOne μπορεί να γραφεί έτσι:
Εύρος ("A1"). Destination Copy: = Εύρος ("B1")
Παρατηρήστε τη μικρή προτροπή καθώς πληκτρολογείτε τη δήλωση. Αυτή η ερώτηση εμφανίζει το επίσημο όνομα του επιχειρήματος.
Το VBE εμφανίζει μια λίστα επιχειρημάτων ενώ πληκτρολογείτε.Επειδή μια συλλογή είναι επίσης ένα αντικείμενο, οι συλλογές έχουν μεθόδους. Η παρακάτω μακροεντολή χρησιμοποιεί τη συλλογή "Προσθήκη μεθόδου για τη συλλογή βιβλίων εργασίας":
Sub AddAWorkbook () Βιβλία εργασίας. Add End Sub
Όπως αναμένετε, αυτή η δήλωση δημιουργεί ένα νέο βιβλίο εργασίας. Με άλλα λόγια, προσθέτει ένα νέο βιβλίο εργασίας στη συλλογή βιβλίων εργασίας. Αφού εκτελέσετε αυτήν τη μακροεντολή, ένα νέο βιβλίο εργασίας θα είναι το ενεργό βιβλίο εργασίας.
Εκδηλώσεις αντικειμένων
Υπάρχει ένα ακόμα θέμα που πρέπει να ξέρετε για: συμβάντα. Τα αντικείμενα ανταποκρίνονται σε διάφορα συμβάντα που συμβαίνουν. Για παράδειγμα, όταν εργάζεστε στο Excel και ενεργοποιείτε ένα διαφορετικό βιβλίο εργασίας, εμφανίζεται ένα συμβάν ενεργοποίησης βιβλίου εργασίας. Θα μπορούσατε, για παράδειγμα, να έχετε μια μακροεντολή VBA που έχει σχεδιαστεί για να εκτελείται όποτε συμβαίνει ένα συμβάν ενεργοποίησης για ένα συγκεκριμένο αντικείμενο βιβλίου εργασίας.
Το Excel υποστηρίζει πολλά συμβάντα, αλλά όχι όλα τα αντικείμενα μπορούν να ανταποκριθούν σε όλα τα συμβάντα. Και κάποια αντικείμενα δεν ανταποκρίνονται σε κανένα γεγονός.Τα μόνα συμβάντα που μπορείτε να χρησιμοποιήσετε είναι αυτά που διατίθενται από τους προγραμματιστές του Microsoft Excel.