Functions > ObjCOM >


ObjGet

Obtient une r�f�rence sur un objet COM � partir d'un processus ou d'un fichier existant.

ObjGet ( "filename" [, "classname" [, instance]] )

Param�tres

filename Le chemin d'acc�s complet et le nom du fichier contenant l'objet (Voir Remarques).
classname [optionnel] Identifiant de classe. Peut �tre ProgID ou la repr�sentation cha�ne du CLSID.
instance [optionnel] Instance de l'objet pour les objets ROT da la m�me classe.

Valeur de retour

Succ�s: Retourne l'objet.
�chec: D�finit @error <> 0.

Remarques

Le nom du fichier est facultatif si vous souhaitez utiliser uniquement l'identifiant de classe, mais le param�tre ne peut pas �tre omis.
Utilisez une cha�ne vide si vous voulez acc�der � des objets de la Table des Objets en cours d'Ex�cution (Running Object Table). Vous pouvez utiliser le troisi�me param�tre pour sp�cifier l'instance d�sir�e dans ce cas.
Dans tous les autres cas, le troisi�me param�tre est ignor�.

Si vous utilisez un nom de fichier, le nom de classe est facultatif. Il est uniquement n�cessaire si vous voulez charger un objet d'une classe sp�cifique.
Le param�tre Classname ne peut pas avoir une valeur par d�faut. S'il est sp�cifi�, alors il est trait�.

Consultez R�f�rence Obj/COM pour plus d'informations sur les objets.

En relation

GUICtrlCreateObj, IsObj, ObjCreate, ObjEvent, ObjName

Exemples

Exemple 1

#include <MsgBoxConstants.au3>

; Exemple qui obtient un objet en utilisant son nom de classe
; Excel doit �tre activ� pour cet exemple

Example()

Func Example()
    Local $oExcel = ObjGet("", "Excel.Application") ; Obtient un objet Excel existant

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Excel File Test" & @CRLF & "Erreur: aucun objet Excel actif. Error code: " & Hex(@error, 8))
        Return False
    EndIf

    $oExcel.Visible = 1 ; Affiche la gui
    $oExcel.workbooks.add ; Ajoute un nouveau classeur
EndFunc   ;==>Example


Exemple 2

; Exemple qui obtient un objet en utilisant un nom de fichier
; Un fichier Excel avec le nom du fichier Worksheet.xls doit �tre cr�� 
; dans le r�pertoire de script pour que cet exemple fonctionne.

#include <MsgBoxConstants.au3>

Example()

Func Example()
    Local $sFileName = @ScriptDir & "\Worksheet.xls"

    If Not FileExists($sFileName) Then
        MsgBox($MB_SYSTEMMODAL, "", "Excel File Test" & @CRLF & "Impossible d'ex�cuter ce test, parce que vous n'avez pas cr�� le fichier Excel " & $sFileName)
        Return False
    EndIf

    Local $oExcelDoc = ObjGet($sFileName) ; Obtient un objet Excel � partir d'un nom de fichier existant

    If IsObj($oExcelDoc) Then

        ;Astuce: Supprimez ces lignes pour rendre Excel visible: (cr�dit : DaleHohm)
        ;oExcelDoc.Windows $(1) = 1.Visible; D�finit la premi�re feuille de calcul dans le classeur visible
        ;oExcelDoc.Application.Visible $= 1; Rend l'application visible (sans que Excel quitte)

        Local $sString = "" ; Cha�ne � des fins d'affichage

        For $oProperty In $oExcelDoc.BuiltinDocumentProperties
            $sString &= $oProperty.Name & ":" & $oProperty.Value & @CRLF
        Next

        MsgBox($MB_SYSTEMMODAL, "", "Test Fichier Excel:" & @CRLF & "Les propri�t�s du document  " & $sFileName & " sont:" & @CRLF & @CRLF & $sString)

        $oExcelDoc.Close ; Ferme le document Excel

    Else
        MsgBox($MB_SYSTEMMODAL, "", "Test Fichier Excel:" & @CRLF & "Erreur: Impossible d'ouvrir " & $sFileName & " en tant qu'objet Excel.")
    EndIf
EndFunc   ;==>Example