Läuft, Danke
Excel ist geöffnet, Wie übernehme ich die Datei und wechsle in Sheet 2
-
- [ gelöst ]
-
Fernando -
27. Oktober 2012 um 22:52 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
So kannst du prüfen ob
[autoit]
- Excel bereits mit deinem Workbook geöffnet ist
- Excel ohne das Workbook geöffnet ist
- Excel nicht geöffnet ist
Entsprechend erfolgt der Zugriff auf die Tabelle.Global $myPath = "DEINE.xls"
[/autoit][autoit][/autoit][autoit]Global $fOpen = False, $oBook, $oExcel = ObjGet('', 'Excel.Application') ; Zugriff auf geöffnetes Excel
[/autoit][autoit][/autoit][autoit]
If @error Then
; == Excel ist nicht geöffnet, neues Excel-Objekt erstellen
_OpenXLS(0)
Else
; == in Excel geöffnete Workbooks auflisten
$oBook = $oExcel.WorkBooks
For $book In $oBook
If $book.Path & '\' & $book.Name = $myPath Then
;~ ConsoleWrite($book.Path & '\' & $book.Name & @CRLF)
$oBook($book.Name).Activate
$oExcel.Visible = 1 ; nur wenn Tabelle sichtbar sein soll
$book.Sheets(2).Select()
$fOpen = True
ExitLoop
EndIf
Next
EndIf
If Not $fOpen Then _OpenXLS($oExcel) ;Func _OpenXLS($_oExcel)
[/autoit]
If Not IsObj($_oExcel) Then $oExcel = ObjCreate("Excel.Application") ; Excel-Objekt erstellen
$oExcel.Visible = 1 ; 0=unsichtbar/ 1=sichtbar
$oBook = $oExcel.Workbooks.Open($myPath) ; Datei öffnen
$oBook.Sheets(2).Select()
EndFunc -
Hallo Bugfix,
Danke für die Rückmeldung. Habe leider erst heute gesehen, dass da schon eine Antwort vorhanden ist.
Bin begeistert.
Fernando -
Die Excel UDF bietet dafür die Funktion _ExcelBookAttach an. Damit "hängt" man das Skript an ein bestehendes Workbook an.