Πώς να δημιουργήσετε και να χρησιμοποιήσετε VBA Class Modules; (Παραδείγματα)

Πίνακας περιεχομένων

Ενότητες κλάσης Excel VBA

Όταν χρησιμοποιούμε το VBA, χρησιμοποιούμε τις ιδιότητες και τα χαρακτηριστικά που ορίζονται στο VBA, αλλά αυτό που συμβαίνει όταν θέλουμε να δημιουργήσουμε τις δικές μας ιδιότητες και μεθόδους και χαρακτηριστικά, δηλαδή όταν χρησιμοποιούμε μια ενότητα κλάσης στο VBA, ώστε να μπορούμε να το ορίσουμε από τον χρήστη, Η ενότητα κλάσης έχει το δικό της σύνολο κωδικών που ορίζονται για συναρτήσεις, ιδιότητες και αντικείμενα από τον χρήστη.

Τα Modules Class χρησιμοποιούνται για τη δημιουργία ενός αντικειμένου. Όταν λέμε αντικείμενα, παρόλο που είναι μεταβλητή, αυτά είναι μικρά προγράμματα. Κατά τη σύνταξη του κώδικα, συνήθως γράφουμε σε ενότητες. Οι βασικές ενότητες είναι όπου γράφουμε τις αρχές μας για να κάνουμε τη δουλειά. Χρησιμοποιούμε επίσης φόρμα χρήστη για τη δημιουργία γραφικών διεπαφών χρήστη.

Αλλά αν κοιτάξετε την παραπάνω εικόνα, μπορείτε να δείτε το "Class Module". Ξέρω σίγουρα ότι δεν το έχετε αγγίξει μέχρι να διαβάσετε αυτήν την ανάρτηση. Πρέπει να αναρωτιέστε τι είναι αυτή η ενότητα κλάσης VBA όταν μπορεί να γίνει όλη η δουλειά χρησιμοποιώντας την ίδια την κανονική ενότητα.

Τι είναι η Ενότητα Τάξης;

Οι λειτουργικές μονάδες κλάσης επιτρέπουν στον χρήστη να δημιουργήσει το αντικείμενό του, όπως ακριβώς έχουμε τα ενσωματωμένα στοιχεία σε τυπικές ενότητες όπως "Φύλλα εργασίας", "Βιβλία εργασίας", "Εύρος" και ούτω καθεξής.

Όπως αυτό χρησιμοποιώντας μια ενότητα κλάσης, μπορούμε να δημιουργήσουμε προσαρμοσμένα αντικείμενα.

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

Για παράδειγμα, εάν θέλετε να παραθέσετε διάφορες μάρκες μηχανών για να αναφέρετε τα χαρακτηριστικά πολλών μοντέλων.

Στο μηχάνημα, έχουμε ένα εμπορικό σήμα, αριθμό σειράς, ισχύ μηχανής, χρώμα της συσκευής, αριθμό κινητήρων που εμπλέκονται σε αυτό, τύπο καυσίμου κινητήρα κ.λπ.… Στην τεχνική γλώσσα, αυτά ονομάζονται «ιδιότητες».

Όσον αφορά τις ιδιότητες του μηχανήματος, μπορούμε να ξεκινήσουμε, μπορούμε να σβήσουμε, μπορούμε να αυξήσουμε την ταχύτητα του κινητήρα, μπορούμε να θέσουμε σε παύση, κλπ… Και αυτά ονομάζονται «Μέθοδοι».

Παράδειγμα

Ας ξεκινήσουμε την κυλιόμενη μπάλα γιατί είναι πάντα βαρετό να διαβάζουμε το θεωρητικό μέρος. Για να εισαγάγετε μια ενότητα κλάσης, μεταβείτε στην επιλογή εισαγωγής σε έναν βασικό οπτικό επεξεργαστή.

Τώρα μπορούμε να δούμε μια ενότητα τάξης όπως παρακάτω.

Αυτό μοιάζει με αυτό που έχουμε παραπάνω ως κανονική ενότητα. Αλλάξτε το όνομα της ενότητας κλάσης στο παράθυρο ιδιοτήτων. Για να δείτε το παράθυρο ιδιοτήτων, πατήστε το πλήκτρο F4 .

Τώρα δηλώστε τη μεταβλητή ως συμβολοσειρά.

Χωρίς να δημιουργήσουμε μια υποδιαδικασία στο VBA, πρέπει να δηλώσουμε τη μεταβλητή και να χρησιμοποιήσουμε τη λέξη «Δημόσιο» και όχι «Dim».

Τώρα μπορούμε να έχουμε πρόσβαση σε αυτήν τη μεταβλητή σε οποιαδήποτε ενότητα και ενότητα κλάσης.

Τώρα μεταβείτε σε μια κανονική ενότητα και ονομάστε τη μεταβλητή.

Μετά τη δήλωση της μεταβλητής, πρέπει να αντιστοιχίσουμε τον τύπο δεδομένων στο VBA. αντί να ορίσουμε τον τύπο δεδομένων, μπορούμε να δώσουμε το όνομα της ενότητας κλάσης, δηλαδή CM.

Χρησιμοποιώντας τη μεταβλητή "k", μπορούμε να έχουμε πρόσβαση στη δημόσια μεταβλητή που έχουμε ορίσει στην ενότητα κλάσης, δηλαδή, "Η τιμή μου".

Όπως μπορούμε να δούμε στην παραπάνω εικόνα, δείχνει την επιλογή του ονόματος μεταβλητής από την ενότητα κλάσης να αντιστοιχίσει την τιμή σε αυτήν.

Τώρα δείξτε την τιμή της εκχωρημένης μεταβλητής στο πλαίσιο μηνυμάτων VBA.

Κώδικας:

Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub

Εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα για να δείξετε το αποτέλεσμα.

Ενότητα τάξης εναντίον αντικειμένων

Στο αρχικό στάδιο της ενότητας της τάξης, όλοι μπερδεύονται με το τι είναι η τάξη και τι είναι ένα αντικείμενο.

Για να το καταλάβετε αυτό, θυμηθείτε το προηγούμενο παράδειγμα ενός διαγράμματος μηχανής. Το πρώτο πράγμα που πρέπει να δημιουργήσουμε μια μηχανή είναι ότι πρέπει πρώτα να σχεδιάσουμε το μηχάνημα και έπειτα πολλά αντίγραφα μπορούν να αναπαραχθούν με αυτό το σχέδιο.

Τώρα συσχετίστε το με το μάθημα της τάξης μας.

  • Εδώ το Class Module είναι ένα σχέδιο. Και Αντικείμενο είναι το αντίγραφο που δημιουργήθηκε από το Design.
  • Ένα ακόμη ενδιαφέρον πράγμα είναι ότι πρέπει να χρησιμοποιήσουμε τη λέξη «νέο» για να δημιουργήσουμε ένα αντικείμενο από το μάθημα της τάξης.

Παρακάτω είναι ένα παράδειγμα του ίδιου.

Ένα ακόμη πράγμα όταν χρησιμοποιούμε ενσωματωμένα αντικείμενα όπως φύλλα εργασίας, βιβλία εργασίας και αντικείμενα εύρους, δεν χρησιμοποιούμε τη λέξη "νέο".

Για να ξεκινήσετε τη διαδικασία με το Class Module, αυτά τα βασικά πράγματα που πρέπει να γνωρίζετε. Στα επόμενα άρθρα, θα δούμε τα παραδείγματα επόμενου επιπέδου.

Φαίνεται δύσκολο να το καταλάβουμε. Όσο περισσότερο χρόνο ξοδεύετε με μια ενότητα τάξης, θα το συνηθίσετε.

ενδιαφέροντα άρθρα...