Récupère un objet Automation depuis un fichier ou depuis un objet spécifié par l'argument strProgID.
object.GetObject(strPathname [,strProgID], [strPrefix])
object
Objet WScript.
strPathname
Requis. Le chemin d'accès complet et le nom du fichier contenant l'objet à récupérer.
strProgID
Facultatif. Chaîne correspondant à l'identificateur du programme de l'objet (ProgID).
strPrefix
Facultatif. Si l'argument strPrefix est spécifié, Windows Script Host connecte l'interface de sortie de l'objet au ficher de script après avoir créé l'objet. Lorsque l'objet déclenche un événement, Windows Script Host appelle une sous-routine dont le nom est composé de strPrefix et du nom de l'événement.
Par exemple, si strPrefix est "MYOBJ_" et que l'objet déclenche un événement appelé "OnBegin," Windows Script Host appelle la sous-routine "MYOBJ_OnBegin" située dans le script.
Utilisez la méthode GetObject lorsqu'il existe une instance active de l'objet ou si vous souhaitez créer l'objet depuis un fichier qui est déjà chargé. Si aucune instance n'existe et que vous ne souhaitez pas que l'objet démarre depuis un fichier qui est déjà chargé, utilisez la méthode CreateObject.
Si un objet s'est enregistré comme un objet à instance unique (par exemple, l'objet Word.Basic de Microsoft Word 7.0), seule une instance de l'objet est créée, indépendamment du nombre d'exécution de CreateObject. De plus, avec un objet à instance unique, GetObject renvoie toujours la même instance lorsque cette méthode est appelée avec la syntaxe de chaîne de longueur zéro (""), et provoque une erreur si le paramètre du chemin d'accès est omis. Vous pouvez utiliser la méthode GetObject pour obtenir une référence à une classe Microsoft Visual Basic® créée avec Visual Basic 4.0 ou version antérieure.
GetObject fonctionne avec toutes les classes COM, indépendamment du langage utilisé pour créer l'objet.
Lors de l'exécution du code suivant, l'application associée à l'argument strPathname spécifié est lancée et l'objet du fichier spécifié est activé. Si strPathname est une chaîne de longueur nulle (""), GetObject renvoie une nouvelle instance d'objet du type spécifié. Si l'argument strPathname est omis entièrement, GetObject renvoie un objet actuellement actif du type spécifié. Si aucun objet du type spécifié n'existe, une erreur survient.
Dim MyObject As Object
Set MyObject = GetObject("C:\CAD\SCHEMA.CAD")
MyApp = MyObject.Application
Certaines applications vous permettent d'activer uniquement une section d'un fichier. Pour ce faire, ajoutez un point d'exclamation (!) à la fin du nom de fichier et faites-le suivre d'une chaîne identifiant la section du fichier que vous souhaitez activer. Pour obtenir plus d'informations sur la création de cette chaîne, reportez-vous à la documentation de l'application utilisée pour créer l'objet.
Par exemple, dans une application de dessin, un dessin stocké dans un fichier peut contenir plusieurs calques distincts. Il vous serait possible d'utiliser le code suivant pour activer un calque au sein d'un fichier de dessin appelé schema.cad :
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
Si vous ne spécifiez pas la classe de l'objet, COM détermine l'application à démarrer ainsi que l'objet à activer en fonction du nom de fichier que vous aurez fourni. Certains fichiers, cependant, pourront accepter plusieurs classes d'objets. Par exemple, un dessin pourra accepter trois types d'objets différents : un objet d'application, un objet de dessin et un objet de barre d'outils. Tous ces objets font partie du seul et même fichier.
Dans l'exemple suivant, FIGMENT est le nom d'une application de dessin et DRAWING est un des types d'objets acceptés par cette application.
Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
CreateObject, méthode | DisconnectObject, méthode
Application : WScript, objet