Obtient une référence sur un objet COM à partir d'un processus ou d'un fichier existant.
ObjGet ( "filename" [, "classname" [, instance]] )
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. |
Succès: | Retourne l'objet. |
Échec: | Définit @error <> 0. |
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.
GUICtrlCreateObj, IsObj, ObjCreate, ObjEvent, ObjName
#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 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