Functions > ObjCOM >


ObjName

Obtient le nom ou la description de l'interface d'un objet.

ObjName ( $Objectvariable [, Flag = 1] )

Paramètres

$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".

Valeur de retour

Succès: Retourne une chaîne représentant le nom
Échec: Retourne "" (Chaîne vide) et définit @error <> 0.

Remarque

Tous les objets ne supportent pas les flags 2 à 7. Toujours tester @error dans ces cas.

En relation

IsObj, ObjCreate, ObjGet

Exemples

Exemple 1

#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))

Exemple 2

#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