Hallo,
zur zeit habe ich ein Problem mit Excel im weitesten Sinne.
Ausgangslage:
20 Excel Files mit recht vielen Werten (SAP querry)
jetzt müsste ich prüfen, in welchen von den Files ein bestimmter Wert steht.
also frisch ans Werk und die mit _filelisttoarray die Liste mit den xls erstellt und als ini abgelegt
[autoit]
$avCommon = _FileListToArray(@ScriptDir)
$sFile = @ScriptDir & "\Test.ini"
; Open file and append array
$hFile = FileOpen($sFile, 1) ; 1 = append
_FileWriteFromArray($hFile, $avCommon, 1)
FileClose($hFile)
Soweit ja alles noch machbar, dann die Excelfiles aufmachen und in ein Array einlesen. Ok soweit komm ich noch
[autoit]
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$sFilePath1 = @ScriptDir & "\" & $line
$oExcel = _ExcelBookOpen($sFilePath1)
If @error = 1 Then
MsgBox(0, "Error!", "Unable to Create the Excel Object")
Exit
ElseIf @error = 2 Then
MsgBox(0, "Error!", "File does not exist - Shame on you!")
Exit
EndIf
$avArray = _ExcelReadSheetToArray($oExcel)
so ab hier lässt mich das Hilfefile im Stich bzw. Ich blicks nicht...
Mein Ansatz war über _ArrayFindAll / _ArraySearch jetzt den Wert, den ich ganz am Anfang mit der kleinen Gui abgegriffen habe, zu suchen aber irgendwie will ich glaub zuviel ![]()
$sSearch =GUICtrlRead($Input1)
$iKeyIndex = _ArrayFindAll($avArray, $sSearch, 1)
If Not @error Then
Msgbox(0,'Entry found',' Index: ' & $iKeyIndex)
Else
Msgbox(0,'Entry Not found',' Error: ' & @error)
EndIf
Wend
Der Haken an der Sache ist das meine Excelfiles sehr groß sind also ich sag ma 2000 rows runter und 15 collums nach rechts
Wenn mir jemand einen Stubs in die richtige Richtung geben könnte? Ich seh vor lauter Array die Werte nicht mehr.
Am Ende benötige ich auf eine Ausgabe ("233-123677-22" wurde in Querry200410.XLS gefunden)
Eventuell ist mein Ansatz ja schon falsch und das geht einfach nicht mit nem Array.
ich freu mich über jede Hilfe
lg
Christian