Obtient le nom ou la description de l'interface d'un objet.
ObjName ( $Objectvariable [, Flag = 1] )
$Objectvariable | Variable contenant l'objet dont vous souhaitez récupérer le nom |
Flag | [optionnel] $OBJ_NAME (1) = (par défaut) Le nom de l'objet $OBJ_STRING (2) = Chaîne de description de l'objet $OBJ_PROGID (3) = Le ProgID de l'objet $OBJ_FILE (4) = Le fichier qui est associée à l'objet dans le Registre $OBJ_MODULE (5) = Nom du module dans lequel l'objet s'exécute (WIN XP et supérieur). Marshaller for non-inproc objects. $OBJ_CLSID (6) = CLSID de la co-classe de l'objet $OBJ_IID (7) = IID de l'interface de l'objet Les constants sont définies dans "AutoItConstants.au3". |
Succès: | Retourne une chaîne représentant le nom |
Échec: | Retourne "" (Chaîne vide) et définit @error <> 0. |
Tous les objets ne supportent pas les flags 2 à 7. Toujours tester @error dans ces cas.
#include <AutoItConstants.au3> #include <MsgBoxConstants.au3> Local $oInternet = ObjCreate("InternetExplorer.Application") $oInternet.Navigate("http://www.google.com") ; Ouvre une page web qui contient un formulaire Sleep(4000) ; Donne à la page le temps de se charger Local $oDoc = $oInternet.Document ; Exemple d'objet à tester Local $oForm = $oDoc.Forms(0) ; Exemple d'objet à tester MsgBox($MB_SYSTEMMODAL, "", "Nom de l'Interface de $oInternet: " & ObjName($oInternet) & @CRLF & _ "Nom de l'Objet de $oInternet: " & ObjName($oInternet, $OBJ_STRING) & @CRLF & _ "Nom de l'Interface de $oDoc: " & ObjName($oDoc) & @CRLF & _ "Nom de l'Objet de $oDoc: " & ObjName($oDoc, $OBJ_STRING) & @CRLF & _ "Nom de l'Interface de $oForm: " & ObjName($oForm) & @CRLF & _ "Nom de l'Objet de $oForm: " & ObjName($oForm, $OBJ_STRING))
#include <AutoItConstants.au3> #include <MsgBoxConstants.au3> Local $oObj = ObjCreate("InternetExplorer.Application") ObjName_FlagsValue($oObj) Func ObjName_FlagsValue(ByRef $oObj) Local $sInfo = '' $sInfo &= '+>' & @TAB & 'ObjName($oObj,1) {Le nom de l''Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_NAME) & @CRLF ; Remarque de la page: Les objets ne supportent pas tous les flags 2 à 7. Testez toujours @error dans ces cas. $sInfo &= '+>' & @TAB & 'ObjName($oObj,2) {Chaîne descriptive de l''Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_STRING) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF $sInfo &= '+>' & @TAB & 'ObjName($oObj,3) {Le ProgID de l''Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_PROGID) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF $sInfo &= '+>' & @TAB & 'ObjName($oObj,4) {Le fichier qui est associé à l''object dans le Registre} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_FILE) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF $sInfo &= '+>' & @TAB & 'ObjName($oObj,5) {Nom du Module dans lequel l''objet s''exécute (WIN XP et ultérieur). Marshaller pour des objets non-inproc.} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_MODULE) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF $sInfo &= '+>' & @TAB & 'ObjName($oObj,6) {CLSID de la coclass de l''objet} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_CLSID) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF $sInfo &= '+>' & @TAB & 'ObjName($oObj,7) {IID de l''interface de l''objet} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_IID) If @error Then $sInfo &= '@error = ' & @error $sInfo &= @CRLF & @CRLF MsgBox($MB_SYSTEMMODAL, "ObjName:", $sInfo) EndFunc ;==>ObjName_FlagsValue