CreateObject στο VBA | Πώς να χρησιμοποιήσετε τη συνάρτηση CreateObject στο VBA;

Λειτουργία CreateObject στο VBA

Τα αντικείμενα είναι πολύ σημαντικές έννοιες στην κωδικοποίηση VBA και στην κατανόηση ότι το μοντέλο εργασίας ενός αντικειμένου είναι αρκετά περίπλοκο. Όταν αναφέρουμε τα αντικείμενα στην κωδικοποίηση VBA το κάνουμε με δύο τρόπους, δηλαδή "Early Binding" και "Late Binding". Το "Early Binding" είναι η διαδικασία καθορισμού της αναφοράς αντικειμένου από τη βιβλιοθήκη αναφορών του VBA και όταν στέλνουμε το αρχείο σε κάποιον άλλο, απαιτείται επίσης να ορίσουν την αναφορά σε αυτά τα αντίστοιχα αντικείμενα. Ωστόσο, το "Late Binding" δεν απαιτεί από τον χρήστη να ορίσει αναφορές αντικειμένων, επειδή στην κωδικοποίηση καθυστερημένης δέσμευσης ορίζουμε την αναφορά στο αντίστοιχο αντικείμενο χρησιμοποιώντας τη συνάρτηση VBA "CreateObject".

Τι είναι το CreateObject στο Excel VBA;

"Δημιουργία αντικειμένου" όπως το ίδιο το όνομα λέει ότι θα δημιουργήσει το αναφερόμενο αντικείμενο από το Excel VBA. Έτσι, η συνάρτηση Create Object επιστρέφει την αναφορά σε ένα αντικείμενο που ξεκίνησε από ένα στοιχείο Active X

Ακολουθεί η σύνταξη της συνάρτησης CreateObject στο VBA

  • Class: Το όνομα του αντικειμένου που προσπαθούμε να ξεκινήσουμε και να ορίσουμε την αναφορά στη μεταβλητή.
  • [Όνομα διακομιστή]: Αυτή είναι μια προαιρετική παράμετρος, εάν αγνοηθεί, θα χρησιμοποιεί μόνο τον τοπικό υπολογιστή.

Παράδειγμα δημιουργίας συνάρτησης αντικειμένου στο Excel VBA

Ακολουθούν τα παραδείγματα του VBA CreateObject.

Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA CreateObject Excel εδώ - Πρότυπο VBA CreateObject Excel

Παράδειγμα # 1

Τώρα θα δούμε πώς να ξεκινήσουμε την εφαρμογή PowerPoint από το Excel χρησιμοποιώντας τη συνάρτηση CreateObject στο VBA. Ανοίξτε το αρχείο excel και μεταβείτε στο παράθυρο επεξεργασίας της Visual Basic πατώντας το πλήκτρο ALT + F11 .

Κώδικας:

 Sub CreateObject_Example1 () End Sub 

Δηλώστε τη μεταβλητή ως PowerPoint.Application.

Όπως μπορείτε να δείτε παραπάνω όταν αρχίζουμε να πληκτρολογούμε τη λέξη "PowerPoint", δεν βλέπουμε κάποια λίστα intellisense που να δείχνει τις σχετικές αναζητήσεις, διότι το "PowerPoint" είναι εξωτερικό αντικείμενο. Αλλά τίποτα που δεν ανησυχεί να δηλώσει τη μεταβλητή ως "Object".

Κώδικας:

 Sub CreateObject_Example1 () Dim PPT ως αντικείμενο End Sub 

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

Κώδικας:

 Sub CreateObject_Example1 () Dim PPT ως σύνολο αντικειμένων PPT = End Sub 

Τώρα ανοίξτε τη λειτουργία CreateObject.

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

Κώδικας:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub 

Τώρα η λειτουργία Δημιουργία αντικειμένου θα ξεκινήσει την εφαρμογή PowerPoint. Μόλις ξεκινήσει το αντικείμενο πρέπει να το κάνουμε ορατό χρησιμοποιώντας το όνομα της μεταβλητής.

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

Για τη μεταβλητή "PPT" χρησιμοποιήστε την ιδιότητα "Ορατό" και ορίστε την κατάσταση ως "True".

Κώδικας:

 Sub CreateObject_Example1 () Dim PPT As Set Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Για να προσθέσετε μια διαφάνεια στο PPT, ορίστε την παρακάτω γραμμή κώδικα VBA.

Κώδικας:

 Sub CreateObject_Example1 () Dim PPT As Set Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Προσθήκη End Sub 

Τώρα εκτελέστε τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5 και δείτε την εφαρμογή "PowerPoint" να ανοίγει.

Μόλις ενεργοποιηθεί η εφαρμογή PowerPoint χρησιμοποιώντας τη μεταβλητή "PPT" μπορούμε να ξεκινήσουμε την πρόσβαση στην εφαρμογή PowerPoint.

Παράδειγμα # 2

Τώρα θα δούμε πώς να ξεκινήσουμε μια εφαρμογή Excel χρησιμοποιώντας τη συνάρτηση CreateObject στο VBA. Για άλλη μια φορά δηλώστε τη μεταβλητή ως "Object"

Κώδικας:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub 

Τη στιγμή που δηλώνουμε τη μεταβλητή ως αντικείμενο προκαλεί καθυστέρηση δέσμευσης και πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί "Set" για να ορίσουμε την αναφορά για το απαιτούμενο αντικείμενο.

Δεδομένου ότι αναφέρεται στο φύλλο εργασίας excel από την εφαρμογή excel, εισαγάγετε το "Excel.Sheet" σε διπλά εισαγωγικά.

Κώδικας:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object Set ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Μόλις οριστεί η αναφορά για το φύλλο excel, πρέπει να το κάνουμε ορατό για χρήση του. Αυτό είναι παρόμοιο με το πώς κάναμε την εφαρμογή PowerPoint ορατή.

Κώδικας:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object Set ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Τώρα θα ενεργοποιήσει το φύλλο εργασίας του excel.

Ομοίως για να ξεκινήσουμε ένα βιβλίο εργασίας excel από άλλα προϊόντα της Microsoft μπορούμε να χρησιμοποιήσουμε τον παρακάτω κώδικα

Κώδικας:

 Sub CreateObject_Example3 () Dim ExlWb As Set Set ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub 

Πράγματα που πρέπει να θυμάστε για το CreateObject στο VBA

  • Στο VBA, η συνάρτηση CreateObject χρησιμοποιείται για την αναφορά αντικειμένων.
  • Η λειτουργία Δημιουργία αντικειμένου προκαλεί μια καθυστερημένη διαδικασία.
  • Χρησιμοποιώντας τη λειτουργία δημιουργίας αντικειμένου δεν έχουμε πρόσβαση στη λίστα intellisense του VBA.