Hallo Leute. Ich hab natürlich die Suche bemüht, aber diesmal hab ich ausnahmsweise keine Lösung zu meinem Problem gefunden.
Folgendes Problem: Ich muss ein paar Werte aus einer XML-Datei herausbekommen. Nachdem ich ewig gesucht habe nach ner Möglichkeit die Daten aus ner zu katalogisieren aber ich bin einfach nicht weiter gekommen. Also hab ich die Dateiendung geändert in "*.txt" und lese die mit excel ein, übertrage das sheet in ein Array, suche mir dort die richtigen Werte raus und schreibe die in ein weiteres array. Das Problem ist, dass ich immer folgende Fehlermeldung bekomme, na was heißt immer, immer nicht aber manchmal, das ist es ja was das Problem so kompliziert macht:
C:\Programme\AutoIt3\Include\Excel.au3 (191) : ==> The requested action with this object has failed.:
If $sPassword = "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly)
If $sPassword = "" And $sWritePassword = "" Then .WorkBooks.Open($sFilePath, Default, $fReadOnly)^ ERROR
Kann mir jemand einen Tipp geben? Vielen Dank!
Hab mal versucht den Code anzuhängen, hoffe das klappt so.
Spoiler anzeigen
Func createlist()
Local $search, $searchfolder, $filelist, $find, $name, $left,$right, $eRAN, $EARFCN, $ALL[1][3], $temp, $i, $progress, $app, $j
$searchfolder = FileSelectFolder("Find folder data is in","E:\Arbeitsordner")
If StringRight($searchfolder,1) <> "\" Then $searchfolder = $searchfolder & "\"
$filelist = _FileListToArray($searchfolder,"*.txt",1)
$temp = $filelist[0] + 1
ReDim $ALL[$temp][3]
$ALL[0][0] = "NE-Name"
$ALL[0][1] = "eRAN"
$ALL[0][2] = "EARFCN"
ProgressOn("import","data will be imported","",-1,-1,18)
ProgressSet(0)
For $i = 1 To $filelist[0]
$importfile = $searchfolder & $filelist[$i]
FileWrite("E:\Arbeitsordner\log.txt",$filelist[$i] & @CRLF)
$data = import($importfile)
[/autoit] [autoit][/autoit] [autoit]$find = _ArraySearch($data,"<cfgfile:subsession neid=",0,-1,1,1,1)
[/autoit] [autoit][/autoit] [autoit]$left = StringInStr($data[$find][1],"neid=") + 5
[/autoit] [autoit][/autoit] [autoit]$right = StringInStr($data[$find][1],"netype=") - 3
[/autoit] [autoit][/autoit] [autoit]$name = StringLeft($data[$find][1],$right)
$name = StringRight($name,($right-$left))
$find = _ArraySearch($data,"<RAN:eNodeB",0,-1,1,1,1)
$eRAN = StringRight($data[$find][1],4)
$eRAN = StringLeft($eRAN,3)
$find = _ArraySearch($data,"<DLEARFCN>",0,-1,1,1,1)
$temp = $data[$find][1]
$EARFCN = StringRight($temp,15)
$EARFCN = StringLeft($EARFCN,4)
$ALL[$i][0] = $name
$ALL[$i][1] = "eRAN" & $eRAN
$ALL[$i][2] = $EARFCN
$progress = (($i/$filelist[0])*100)
ProgressSet($progress,$name)
Next
ProgressOff()
$app = _ExcelBookNew(0)
For $i = 0 To $filelist[0]
For $j = 0 To 2
_ExcelWriteCell($app,$ALL[$i][$j],($i+1),($j+1))
Next
Next
$temp = @YEAR & @MON & @MDAY & "_config_export.xls"
_ExcelBookSaveAs($app,$searchfolder & $temp)
_ExcelBookClose($app)
Return($doit)
EndFunc
;---------------------------------------------------
Func import($importfile)
Local $app, $i,$length
ReDim $data[1][1]
$app = _ExcelBookOpen($importfile,0,1,"","")
$data = _ExcelReadSheetToArray($app)
_ExcelBookClose($app)
Return($data)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
;--------