Non standard
Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.
La fonction GetObject() renvoie une référence à un objet Automation à partir d'un fichier donné.
Syntaxe
GetObject([pathname] [, class])
Paramètres
pathname- Un chemin complet contenant également le nom du fichier contenant l'objet qu'on souhaite récupérer. Si
pathnamen'est pas présent, l'argumentclasssera obligatoire. classFacultatif- La classe de l'objet. Cet argument suit une syntaxe
appname.objecttypeoù : appnamecorrespond au nom de l'application fournissant l'objetobjecttypecorrespond au type ou à la classe d'objet à créer.
Notes
La fonction GetObject() n'est pas prise en charge par Internet Explorer 9 en mode standard, Internet Explorer 10 en mode standard, Internet Explorer 11 en mode standard et par les applications Windows Store.
Exemples
var CADObject;
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");
Lorsque ce code est exécuté, l'application associée au chemin indiquée est démarrée et l'objet indiqué est activé. Si l'argument pathname est une chaîne vide (""), GetObject renvoie une nouvelle instance du type souhaité. Si l'argument pathnameest absent, GetObject() renvoie l'objet actif courant pour le type indiqué. Si aucun objet ne correspond, une erreur est déclenchée.
Certaines applications permettent d'activer une partie d'un fichier. Pour cela, on peut terminer l'argument pathname par un point d'exclamation suivi du nom de la partie du fichier qu'on souhaite activer. Pour plus d'informations sur la composition du nom de la partie, voir la documentation de l'application qui a créé l'objet.
Ainsi, pour une application de dessin avec différents calques enregistrés dans un même fichier, on pourra utiliser l'instruction suivante pour récupérer un calque précis :
var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");
Si la classe de l'objet n'est pas passée en argument, l'objet Automation déterminera l'application à démarrer et l'objet à activer en fonction du nom de fichier passé en argument. Il est possible que certains fichiers prennent en charge plusieurs classes d'objet. Dans ce dernier cas, il faudra utiliser l'argument class afin d'indiquer la classe à récupérer :
var MyObject = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "FIGMENT.DRAWING");
Dans l'exemple précédent, FIGMENT est le nom d'une application de dessin et DRAWING est le nom d'un type d'objet pris en charge par cette application. Une fois l'objet activé, on peut y faire référence dans le code grâce à la variable qu'on a déclaré. Suite à l'instruction précédente, on peut manipuler les propriétés et méthodes du nouvel objet avec MyObject :
MyObject.Line(9, 90);
MyObject.InsertText(9, 100, "Hello, world.");
MyObject.SaveAs("C:\\DRAWINGS\\SAMPLE.DRW");
Note : On utilisera la fonction GetObject() lorsqu'on dispose d'une instance courante pour l'objet ou qu'on souhaite créer un objet à partir d'un fichier déjà chargé. Si on ne dispose encore d'aucunee instance et qu'on ne souhaite pas utiliser un objet d'un fichier chargé, il faudra utiliser l'objet ActiveXObject.
Si un objet est enregistré comme un singleton, une seule instance de l'objet sera créée, quel que soit le nombre de fois où ActiveXObject est exécuté. Pour un tel singleton, GetObject() renvoie toujours la même instance lorsqu'elle est appelée avec la chaîne vide et provoque une erreur si l'argument pathname est absent.
Prérequis
Cette fonctionnalité est prise en charge par les modes suivants : Quirks, Internet Explorer 6 en mode standard, Internet Explorer 7 en mode standard et Internet Explorer 8 en mode standard.

