Ruft eine Referenz zu einem COM-Objekt ab, von einem vorhandenem Prozess oder Dateinamen.
ObjGet ( "filename" [, "classname"] )
Parameter
| filename | Vollständiger Pfad und Name der Datei die das Objekt enthält (Siehe Bemerkungen) |
| classname | [optional] Die Klasse des Objekts in folgendem Format: "appname.objectype" |
Rückgabewert
| Erfolg: | Gibt ein Objekt zurück |
| Fehler: | Gibt 0 zurück und setzt @error auf 1. |
Bemerkungen
Der Dateiname ist optional wenn man nur den Klassennamen nutzen möchte, aber der Parameter
Verwandte Funktionen
GUICtrlCreateObj, IsObj, ObjCreate, ObjEvent, ObjName
Beispiel
; Beispiel wie man eine Objektreferenz über den Klassennamen erhält
;
; Excel muss gestartet sein, damit das Beispiel funktioniert
$oExcel = ObjGet("","Excel.Application") ; Existierendes Excel Objekt referenzieren
if @error then
Msgbox (0,"ExcelTest","Fehler beim Referenzieren eines bestehenden Excel Objekts. Fehlernummer: " & hex(@error,8))
exit
endif
$oExcel.Visible = 1 ; Das Objekt anzeigen
$oExcel.workbooks.add ; Eine neue Arbeitsmappe hinzufügen
exit
; Beispiel wie man eine Objektreferenz über den Dateinamen erhält
;
; Eine Excel Datei mit dem Namen Worksheet.xls muss im Hauptverzeichnis C:\
; Vorhanden sein, damit das Beispiel funktioniert.
$FileName="C:\Worksheet.xls"
if not FileExists($FileName) then
Msgbox (0,"Excel Datei Test","Test kann nicht ausgeführt werden, weil diese Exeldatei nicht existiert: "& $FileName)
Exit
endif
$oExcelDoc = ObjGet($FileName) ; Die Excel Objektreferenz mit dem Dateinamen erzeugen
if IsObj($oExcelDoc) then
; Tipp: Folgende Zeilen entkommentieren um Excel sichtbar zu machen (credit: DaleHohm)
; $oExcelDoc.Windows(1).Visible = 1 ; Das erste Arbeitsblatt in der Arbeitsmappe sichtbar machen
; $oExcelDoc.Application.Visible = 1 ; Die Anwendung anzeigen (ohne dies wird Excel beendet)
$String = "" ; String für Anzeigezwecke
; Einige Dokumenteneigenschaften geben keinen Wert zurück, das werden wir ignorieren
$OEvent=ObjEvent("AutoIt.Error","nothing"); Vergleichbar mit On Error Resume Next in VBscript
For $Property In $oExcelDoc.BuiltinDocumentProperties
$String = $String & $Property.Name & ":" & $Property.Value & @CRLF
Next
Msgbox(0,"Excel Datei Test","Die Dokumenteneigenschaften von " & $FileName & " sind:" & @CRLF & @CRLF & $String)
$oExcelDoc.Close ; Exceldokument schließen
else
Msgbox (0,"Excel Datei Test","Fehler: Die Datei "& $FileName & " konnte nicht als Excelobjekt geöffnet werden.")
endif