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

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

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

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

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

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

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

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

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

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

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

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

Παράδειγμα

Μπορείτε να κατεβάσετε αυτό το Πρότυπο κλάσης VBA εδώ - Πρότυπο κλάσης VBA

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

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

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

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

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

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

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

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

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

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

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

Κώδικας:

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

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

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

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

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

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

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

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

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

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

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


$config[zx-auto] not found$config[zx-overlay] not found