auf offenes Excel Arbeitsblatt zugreifen

  • Hallo,
    ich versuche gerade mein Autoit script auf die neue Version Excel UDF umzustellen.
    Komme aber mit meiner Unfähigkeit auf keinen grünen Zweig.(trotz Such tools)

    gegen ist ein offenes Excel Workbook und will das aktive Arbeitsblatt auslesen
    Alt Excel UDF:
    Global $oExcel = ObjGet("","Excel.Application")
    $ExcelTabelle_Array = _ExcelReadSheetToArray($oExcel)

    wie funktionierts mit Excel UDF 3.3.8.1


    wie komme ich an das $oWorkbook,$vWorksheet für die Funktion _Excel_RangeRead

    _Excel_RangeRead ( $oWorkbook [, $vWorksheet = Default [, $vRange = Default [, $iReturn = 1 [, $bForceFunc = False]]]] )

    danke im vorraus

    ewald

  • Hier mal ein Beispiel mit einer Excel Datei, die du Öffnen musst.
    Könntest deine ja auch


    gruß gmmg

    Einmal editiert, zuletzt von gmmg (3. Februar 2016 um 15:25)

  • @error:
    1 - $oWorkbook is not an object or not a workbook object

    Ich kenne meine Excel Datei nicht, die heißt immer anders, deshalb will ich ja die "geöffnete" auslesen

    Einmal editiert, zuletzt von bwald (3. Februar 2016 um 15:42)

  • Um Dich an die geöffnete Excel-Datei (Workbook) anzuhängen, verwende _Excel_BookAttach.

  • Wer hat denn diesen Prozess definiert, dass du die Datei nicht kennst ? Wird die Excel automatisch erzeugt und dann in einen Pfad xy abgelegt?
    Irgendeiner muss die Datei ja öffnen. Geschiet das aus einem Programm heraus oder von Hand?

    wie Water geschrieben hat, so sollte es gehen.

    Die Dateien mit Filelist auflisten lassen und nacheinander abarbeiten wäre auch möglich.

    Hier noch ein Beispiel zum auslesen eines Existierenden Files.


    Gruß gmmg :)

    Einmal editiert, zuletzt von gmmg (4. Februar 2016 um 09:56)

  • Die Exceldateien haben viele Namen und Pfade, es ist eben so

    Lösungsansatz ist und funktioniert auch


    $oExcel = ObjGet("","Excel.Application")
    $aWorkBooks = _Excel_BookList()
    $sWorkbook = $aWorkBooks[0][2] & "\" & $aWorkBooks[0][1] ; wenn nur eine excel offen
    $oWorkbook = _Excel_BookAttach($sWorkbook)
    _Excel_RangeRead($oWorkbook, Default)

    Danke an water

    schönen Gruß

    bwald