Erstellt ein 2D Array von den Zeilen/Spalten des aktiven Tabellenblattes.
#Include <Excel.au3>
_ExcelReadSheetToArray($oExcel [, $iStartRow = 1 [, $iStartColumn = 1 [, $iRowCnt = 0 [, $iColCnt = 0 [, $iColShift = False]]]]])
Parameter
| $oExcel | Ein Excel Objekt welches durch einen vorherigen Aufruf von _ExcelBookOpen() oder _ExcelBookNew() geöffnet wurde |
| $iStartRow | [optional] Zeilennummer ab der das lesen beginnen soll, Standard ist i (erste Zeile) |
| $iStartColumn | [optional] Spaltennummer ab der das lesen beginnen soll, Standard ist i (erste Zeile) |
| $iRowCnt | [optional] Anzahl von zu lesenden Zeilen, Standard ist 0 (alle) |
| $iColCnt | [optional] Anzahl von zu lesenden Spalten, Standard ist 0 (alle) |
| $iColShift | [optional] Bestimmt, ob das zurückgegebene Array beim Index 0 oder 1 beginnen soll. Standard = False. Dadurch passen R1C1 Werte. |
Rückgabewert
| Erfolg: | Ein 2D Array mit den durch [$row][$col] festgelegten Zellinhalten |
| Fehler: | 0 und setzt @error |
| @error: | 0 - Kein Fehler |
| 1 - festgelegtes Objekt existiert nicht | |
| 2 - Startparameter außerhalb des Bereiches | |
| 3 - Zählparameter außerhalb des Bereiches | |
| @extended: | 0 - Zeilenzähler außerhalb des Bereiches |
| 1 - Spaltenzähler außerhalb des Bereiches |
Bemerkungen
Das zurückgegebe Array hat die Anzahl von Zeilen in [0][0] und die Anzahl von Spalten in [0][1].
Verwandte Funktionen
Beispiel
;***************************************************************************
; Beispiel 1 – Nach dem Öffnen einer Arbeitsmappe und Rückgabe des Objekt-Handles:
; Füllt die Zellen mit Zufallszahlen und liest die Zahlen (Werte) in ein Array ein. Dabei werden verschiedene Parameter verwendet
;***************************************************************************
#include <Excel.au3>
#include <Array.au3>
Local $oExcel = _ExcelBookNew() ; Erstellt eine neue Arbeitsmappe und zeigt sie an
; Wir können die Zellen mit einer einfachen Schleife mit Zufallszahlen auffüllen
For $y = 1 To 10 ; Start in Spalte 1
For $x = 1 To 15
_ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ; Erzeugt viele Zufallszahlen
Next
Next
$aArray = _ExcelReadSheetToArray($oExcel) ; Benutzt die vorgegebenen Parameter
_ArrayDisplay($aArray, "Das Array benutzt die vorgegebenen Parameter")
$aArray = _ExcelReadSheetToArray($oExcel, 2) ; Startet in der zweiten Zeile
_ArrayDisplay($aArray, "Startet in der zweiten Zeile")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 2) ; Startet in der zweiten Spalte
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 5) ; Liest fünf Zeilen
_ArrayDisplay($aArray, "Liest fünf Zeilen")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 2) ; Liest zwei Spalten
_ArrayDisplay($aArray, "Liest zwei Spalten")
$aArray = _ExcelReadSheetToArray($oExcel, 2, 3, 4, 5) ; Startet in der zweiten Zeile der dritten Spalte, liest vier Zeilen und fünf Spalten
MsgBox(0,'Fehler',"@error: " & @error & @TAB & " @extended: " & @extended)
_ArrayDisplay($aArray, "Startet in der zweiten Zeile der dritten Spalte, liest vier Zeilen und fünf Spalten")
$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 0, True) ; Benutzt die vorgegebenen Parameter, außer bei verschobenen Spalten (True)
_ArrayDisplay($aArray, "Array mit den verschobenen Spalten")
MsgBox(0, "Verlassen", "OK drücken, um die Datei zu speichern und das Programm zu verlassen")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Nun speichern wir die Datei in ein temporäres Verzeichnis; existierende Dateien werden dabei überschrieben!
_ExcelBookClose($oExcel) ; Zum Abschluss verlassen wir das Programm