Μετάβαση στο κύριο περιεχόμενο
Office

Η συνάρτηση CreateObject

Σημείωση: Θέλουμε να σας παρέχουμε το πιο πρόσφατο περιεχόμενο βοήθειας στη γλώσσα σας όσο πιο σύντομα γίνεται. Αυτή η σελίδα έχει μεταφραστεί μέσω αυτοματοποιημένης διαδικασίας και ενδεχομένως να περιέχει γραμματικά λάθη και ανακρίβειες. Ο σκοπός μας είναι αυτό το περιεχόμενο να σας φανεί χρήσιμο. Μπορείτε να μας ενημερώσετε στο κάτω μέρος αυτής της σελίδας εάν οι πληροφορίες σάς φάνηκαν χρήσιμες; Εδώ θα βρείτε το άρθρο στα Αγγλικά για να το συμβουλεύεστε εύκολα.

Σημείωση: Η συνάρτηση, η μέθοδος, το αντικείμενο ή η ιδιότητα που περιγράφεται σε αυτό το θέμα είναι απενεργοποιημένη, εάν η υπηρεσία Expression Microsoft Jet εκτελείται σε λειτουργία sandbox, γεγονός που αποτρέπει την αξιολόγηση πιθανών μη ασφαλών παραστάσεων. Για περισσότερες πληροφορίες σχετικά με τη λειτουργία sandbox, αναζητήστε τη φράση "λειτουργία sandbox" στη βοήθεια.

Δημιουργεί και επιστρέφει μια αναφορά σε ένα αντικείμενο ActiveX.

Σύνταξη

CreateObject ( Κλάση [, όνομα_διακομιστή] )

Η σύνταξη της συνάρτησης CreateObject περιλαμβάνει τα παρακάτω ορίσματα:

Όρισμα

Περιγραφή

κλάση

Υποχρεωτικό. Παραλλαγή (Συμβολοσειρά). Το όνομα της εφαρμογής και η κλάση του αντικειμένου που θα δημιουργηθεί.

όνομα_διακομιστή

Προαιρετικό. Παραλλαγή (Συμβολοσειρά). Το όνομα του διακομιστή δικτύου όπου θα δημιουργηθεί το αντικείμενο. Εάν το όνομα_διακομιστή είναι μια κενή συμβολοσειρά (""), χρησιμοποιείται ο τοπικός υπολογιστής.


Η Κλάσηόρισμα χρησιμοποιεί τη σύνταξη AppName.objecttype και έχει τα εξής τμήματα:

Τμήμα

Περιγραφή

AppName

Υποχρεωτικό. Παραλλαγή (Συμβολοσειρά). Το όνομα της εφαρμογής που παρέχει το αντικείμενο.

objecttype

Υποχρεωτικό. Παραλλαγή (Συμβολοσειρά). Ο τύπος ή το κλάση του αντικειμένου που θα δημιουργηθεί.


Παρατηρήσεις

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

Για να δημιουργήσετε ένα αντικείμενο ActiveX, εκχωρήστε το αντικείμενο που επιστρέφεται από το CreateObject σε ένα μεταβλητή αντικειμένου:

Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα της Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε αναφορά προγραμματιστή στην αναπτυσσόμενη λίστα δίπλα στην επιλογή Αναζήτηση και εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Σε αυτό το παράδειγμα, θα αυτοματοποιήσουμε ένα αντικείμενο υπολογιστικού φύλλου του Excel μέσα από μια βάση δεδομένων της Access. Αυτός ο κωδικός ξεκινά την εφαρμογή δημιουργώντας το αντικείμενο, σε αυτήν την περίπτωση, ένα υπολογιστικό φύλλο του Microsoft Excel. Μόλις δημιουργηθεί ένα αντικείμενο, μπορείτε να το αναφέρετε σε κώδικα χρησιμοποιώντας τη μεταβλητή αντικειμένου που έχετε ορίσει. Στο παρακάτω παράδειγμα, μπορείτε να αποκτήσετε πρόσβαση στις ιδιότητες και τις μεθόδους του νέου αντικειμένου χρησιμοποιώντας τη μεταβλητή αντικειμένου, το ExcelSheetκαι άλλα αντικείμενα του Excel, συμπεριλαμβανομένου του αντικειμένου Application και της συλλογής Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Η δήλωση μιας μεταβλητής αντικειμένου με τον όρο As Object δημιουργεί μια μεταβλητή που μπορεί να περιέχει μια αναφορά σε οποιονδήποτε τύπο αντικειμένου. Ωστόσο, η πρόσβαση στο αντικείμενο μέσω αυτής της μεταβλητής είναι καθυστερημένη. Αυτό σημαίνει ότι η σύνδεση πραγματοποιείται όταν εκτελείται το πρόγραμμά σας. Για να δημιουργήσετε μια μεταβλητή αντικειμένου που έχει ως αποτέλεσμα την πρώιμη σύνδεση, δηλαδή, τη δέσμευση κατά τη μεταγλώττιση του προγράμματος, δηλώστε τη μεταβλητή αντικειμένου με ένα συγκεκριμένο αναγνωριστικό κλάσης. Για παράδειγμα, μπορείτε να δηλώσετε και να δημιουργήσετε τις ακόλουθες αναφορές του Excel:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

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

Μπορείτε να μεταβιβάσετε ένα αντικείμενο που επιστρέφεται από τη συνάρτηση CreateObject σε μια συνάρτηση που αναμένει ένα αντικείμενο ως όρισμα. Για παράδειγμα, ο παρακάτω κώδικας δημιουργεί και μεταβιβάζει μια αναφορά σε ένα αντικείμενο Excel. Application:

Call MySub (CreateObject("Excel.Application"))

Μπορείτε να δημιουργήσετε ένα αντικείμενο σε έναν απομακρυσμένο δικτυωμένο υπολογιστή, μεταβιβάζοντας το όνομα του υπολογιστή στο όρισμα όνομα_διακομιστή του CreateObject. Αυτό το όνομα είναι το ίδιο με το τμήμα "όνομα υπολογιστή" ενός ονόματος κοινόχρηστου στοιχείου: για ένα κοινόχρηστο στοιχείο με το όνομα "\\MyServer\Public", το όνομα_διακομιστή είναι "MyServer".

Σημείωση:  Ανατρέξτε στην τεκμηρίωση COM (ανατρέξτε στο θέμα δίκτυο προγραμματιστών της Microsoft) για πρόσθετες πληροφορίες σχετικά με τη δημιουργία μιας εφαρμογής ορατή σε έναν απομακρυσμένο υπολογιστή δικτύου. Ίσως χρειαστεί να προσθέσετε ένα κλειδί μητρώου για την εφαρμογή σας.

Ο ακόλουθος κώδικας επιστρέφει τον αριθμό έκδοσης μιας παρουσίας του Excel που εκτελείται σε έναν απομακρυσμένο υπολογιστή με το όνομα MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Εάν ο απομακρυσμένος διακομιστής δεν υπάρχει ή δεν είναι διαθέσιμος, εμφανίζεται ένα σφάλμα χρόνου εκτέλεσης.

Σημείωση:  Χρησιμοποιήστε το CreateObject όταν δεν υπάρχει τρέχουσα παρουσία του αντικειμένου. Εάν μια παρουσία του αντικειμένου εκτελείται ήδη, ξεκινά μια νέα παρουσία και δημιουργείται ένα αντικείμενο του καθορισμένου τύπου. Για να χρησιμοποιήσετε την τρέχουσα παρουσία ή για να ξεκινήσετε την εφαρμογή και να τη φορτώσετε ένα αρχείο, χρησιμοποιήστε τη συνάρτηση GetObject .

Εάν ένα αντικείμενο έχει καταχωρηθεί ως αντικείμενο μίας παρουσίας, δημιουργείται μόνο μία παρουσία του αντικειμένου, ανεξάρτητα από το πόσες φορές εκτελείται το CreateObject .

Παράδειγμα

Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CreateObject για να καθορίσει μια αναφορά (

xlApp

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

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×