Αναγν. άρθρου: 288902 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 4.0 Η συμπεριφορά GetObject και CreateObject του Office διακομιστές αυτοματοποίησης
Σε αυτήν τη σελίδαΠερίληψηΑυτό το άρθρο περιγράφει τις διαφορετικές συμπεριφορές που προκύπτουν κατά τη χρήση τουGetObjectANDCreateObjectσυναρτήσεις με διάφορες εκδόσεις των εφαρμογών του Microsoft Office.GetObjectANDCreateObjectΟι συναρτήσεις που παρέχονται από τη Microsoft Visual Basic και Microsoft Visual Basic for Applications (VBA). Ωστόσο, οι πληροφορίες εφαρμόζεται επίσης σε Microsoft Visual C++ αν χειριστεί αναφορές σεGetObjectως κλήσεις για τοGetActiveObjectAPI και αναφορές σεCreateObjectως κλήσεις για τοCoCreateInstanceAPI. Περισσότερες πληροφορίεςGetObjectGetObjectΓια να επισυνάψετε σε μια παρουσία εκτελείται από ένα διακομιστή αυτοματοποίησης. Υπάρχουν μερικές διαφορετικοί τρόποι για να καλέσετεGetObject, αλλά η σύνταξη που συνιστάται για το Microsoft Office εφαρμογές είναι η εξής:Σφάλμα χρόνου εκτέλεσης '429': Δεν είναι δυνατή η δημιουργία αντικειμένου από το στοιχείο ActiveX. (Run-time error '429': ActiveX component can't create object.) Μπορείτε να επισυνάψετε σε μια συγκεκριμένη παρουσία, εάν γνωρίζετε το όνομα του ένα ανοιχτό έγγραφο σε αυτήν την περίπτωση. Για παράδειγμα, εάν εκτελείται μια περίοδο λειτουργίας του Excel με ένα ανοικτό βιβλίο εργασίας που ονομάζεται Βιβλίο2, ο κώδικας που ακολουθεί συνδέει με επιτυχία στη συγκεκριμένη παρουσία ακόμα κι αν δεν την πρώτη παρουσία που ξεκίνησε: CreateObjectCreateObjectΓια να ξεκινήσετε μια νέα περίοδο λειτουργίας ενός διακομιστή αυτοματοποίησης. Για παράδειγμα:Ο ακόλουθος πίνακας χρησιμεύει ως αναφορά χρήσιμες κατά την εφαρμογή μιας λύσης με το Microsoft Office. Παραθέτει σε λίστα συμπεριφορές και χαρακτηριστικά των διαφόρων εκδόσεων και εφαρμογές του Microsoft Office, όπως το αν ο διακομιστής προεπιλογές για να είναι ορατή κατά την εκκίνηση, εάν είναι SingleUse ή MultiUse, αν έχει ένα UserControl ιδιοτήτων, αν έχει έναΚάντε έξοδοη μέθοδος και το όνομα της κλάσης για το κύριο παράθυρο. Σύμπτυξη αυτού του πίνακα
Το όνομα κλάσης του κύριου παραθύρου είναι χρήσιμο για την κλήση τουFindWindowAPI για να βρείτε εύκολα αν οποιαδήποτε παρουσία εκτελείται ήδη. Η ιδιότητα είναι μια δυαδική ιδιότητα που δηλώνει αν η εφαρμογή του διακομιστή αυτόματα τερματίζεται κατά την τελευταία αναφορά είναι UserControl κυκλοφορήσει (σύνολο σε τίποτα). Για ναΚάντε έξοδοη μέθοδος σάς επιτρέπει να παρακάμψετε την ιδιότητα UserControl στις περιπτώσεις όπου είναι απαραίτητο (όπως όταν μια περίοδος λειτουργίας δεν τερματίζεται μετά την κυκλοφορία της τελευταίας αναφοράς). Σε γενικές γραμμές, η Microsoft συνιστά να χρησιμοποιείτε μια νέα περίοδο λειτουργίας μιας εφαρμογής του Office αντί για επισύναψη σε μια περίοδο λειτουργίας που μπορεί να χρησιμοποιεί ο χρήστης. Είναι καλύτερα η δημιουργία παρουσίας, χρησιμοποιώντας το αναγνωριστικό της εφαρμογής προγράμματος, και, στη συνέχεια, να ανοίξετε ή να δημιουργήσετε νέα αντικείμενα από εκεί. Άλλες ProgIDs, όπως Excel.Sheet Word.Document και ούτω καθεξής, προορίζονται για χρήση στο OLE (Object σύνδεση και ενσωμάτωση) και μπορεί να σας δώσει αντιφατικά αποτελέσματα όταν χρησιμοποιείται μεCreateObject. By using the Application ProgID, you avoid potential issues by explicitly starting the server for Automation (not Embedding). When you are finished with the Automation server, release all your references to it and call itsQuitmethod (if available) so that the server shuts down as expected. If you want to configure an instance through Automation and then leave it open for the user to use, you need to set the UserControl property toTRUEand then release all your references. The server then stays running (because the UserControl property isTRUE) and shuts down appropriately when the user closes the application (because there are no outstanding references). ΣΗΜΕΙΩΣΗFor Word, the UserControl property is read-only. It cannot be set to True or False. Word always remains running when the last reference is released. ΑναφορέςFor more information about using GetObject/CreateObject, and to
learn about some exceptions and issues with using Automation to Microsoft Office, click the following article numbers to view the articles in the Microsoft Knowledge Base: 222783
(http://support.microsoft.com/kb/222783/
)
PPT2000: CreateObject Does Not
Create New PowerPoint Session 188546
(http://support.microsoft.com/kb/188546/
)
BUG:
Starting Word Manually Uses Same Instance as Automation 265385
(http://support.microsoft.com/kb/265385/
)
INFO:
Automation of PowerPoint 97 and PowerPoint 2000 Viewers 259940
(http://support.microsoft.com/kb/259940/
)
BUG: Word
2000 Does Not Quit When Keybindings.ClearAll Is Called 258511
(http://support.microsoft.com/kb/258511/
)
HOWTO:
Obtain Window Handle to Office Application For Automation 249169
(http://support.microsoft.com/kb/249169/
)
PPT97:
PowerPoint 97 Remains in Memory After Getting a Presentation and Being
Closed 159922
(http://support.microsoft.com/kb/159922/
)
XL97: Using
Quit Method May Cause Illegal Operation Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:288902
(http://support.microsoft.com/kb/288902/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Επιστροφή στην αρχή
