Numéro d'article: 288902 - Dernière mise à jour: mercredi 31 janvier 2007 - Version: 9.3 Comportement de GetObject et CreateObject des serveurs automation OfficeSommaireRésumé Cet article décrit les différents comportements de se produisent lorsque vous utilisez les fonctions GetObject et CreateObject avec différentes versions d'applications Microsoft Office. GetObject et CreateObject sont des fonctions qui sont fournies par Microsoft Visual Basic et Microsoft Visual Basic pour Applications (VBA). Cependant, les informations sont également applicables à Microsoft Visual C++ si vous considérez les références fonction GetObject en tant qu'appels GetActiveObject API et les références à CreateObject que les appels à la fonction CoCreateInstance API. Plus d'informationsGetObjectGetObject est utilisé pour associer à une instance en cours d'exécution d'un serveur automation. Il existe quelques manières différentes d'appeler GetObject , mais la syntaxe est recommandée pour Microsoft Office applications est la suivante : Erreur d'exécution '429' : Le composant ActiveX ne peut pas créer l'objet Vous pouvez joindre à une instance spécifique si vous connaissez le nom d'un document ouvert dans cette instance. Par exemple, si une instance d'Excel s'exécute avec un classeur ouvert nommé Book2, le code suivant attache avec succès à cette instance même si elle n'est pas l'instance première qui a été lancé : CreateObjectCreateObject utilisé pour démarrer une nouvelle instance d'un serveur Automation. Par exemple :Le tableau suivant sert de référence utile lors de l'implémentation d'une solution avec Microsoft Office. Il répertorie les comportements et attributs des versions différentes et des applications de Microsoft Office, telles que la valeur par défaut si le serveur est soit visible au démarrage, s'il s'agit SingleUse ou MultiUse, si elle possède un contrôle UserControl propriété, si elle possède une méthode Quit et le nom de classe pour la fenêtre principale. Réduire ce tableau
Le nom de classe de la fenêtre principale est utile pour appel FindWindow API lorsque vous souhaitez savoir facilement si n'importe quelle instance est déjà en cours d'exécution. L'objet UserControl propriété est une propriété booléenne qui indique si l'application serveur automatiquement arrête lorsque la dernière référence est publié (ensemble sur nothing). La méthode Quit permet de remplacer la propriété UserControl dans les cas où il est nécessaire (tels que lorsqu'une instance ne s'arrête pas après la dernière référence). En règle générale, Microsoft recommande d'utiliser une nouvelle instance d'une application Office au lieu de lier à une instance de l'utilisateur peut utiliser. Il est mieux créer une instance en utilisant le ProgID application, ouvrir ou créer des objets à partir de là. Autres ProgID, notamment Excel.Sheet Word.Document et ainsi de suite, est conçus pour être utilisés dans OLE (liaison d'objet and Embedding) et peut donner des résultats incohérents lorsqu'elle est utilisée avec la fonction CreateObject . En utilisant le ProgID application, vous éviter les problèmes potentiels en démarrant explicitement le serveur pour l'automatisation (Embedding). Lorsque vous avez terminé avec le serveur Automation, libérer toutes vos références et appelle sa méthode Quit (si disponible) afin que le serveur arrête normalement. Si vous souhaitez configurer une instance par l'intermédiaire d'Automation et puis laissez-la ouverte pour l'utilisateur à utiliser, vous devez définir la propriété UserControl sur TRUE et puis relâchez vos références. Le serveur puis reste en cours d'exécution (parce que la propriété UserControl est TRUE ) et s'arrête correctement lorsque l'utilisateur ferme l'application (car il n'existe aucune référence en attente). note Pour que Word, la propriété UserControl est en lecture seule. Elle ne peut pas être définie sur True ou False. Word toujours reste l'exécution à la dernière référence est libérée. Références Pour plus d'informations sur l'utilisation de GetObject/CreateObject et en savoir plus sur certaines exceptions et des problèmes liés à l'utilisation de Automation pour Microsoft Office, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft. : 222783
(http://support.microsoft.com/kb/222783/
)
PPT2000 : CreateObject ne créer pas de nouvelle session de PowerPoint 188546
(http://support.microsoft.com/kb/188546/
)
BOGUE : démarrage manuel de Word utilise la même instance comme Automation 265385
(http://support.microsoft.com/kb/265385/
)
INFO : Automatisation de PowerPoint 97 et PowerPoint 2000 Aperçu 259940
(http://support.microsoft.com/kb/259940/
)
BOGUE : Word 2000 ne pas quitter lorsque Keybindings.ClearAll est appelée 258511
(http://support.microsoft.com/kb/258511/
)
Comment faire pour obtenir le handle de fenêtre à l'application Office pour l'automatisation de 249169
(http://support.microsoft.com/kb/249169/
)
PPT97 : PowerPoint 97 reste en mémoire après la récupération d'une présentation et fermé en cours 159922
(http://support.microsoft.com/kb/159922/
)
À l'aide de XL97 : méthode quitter peut provoquer des opération non valide Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatiqueIMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 288902
(http://support.microsoft.com/kb/288902/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Traductions disponibles
|


Retour au début


