hallo AspiriJunkie,
ja, so wollte ich das auch!
mein problem war, dass ich nicht verstanden habe, wie ich die zeile + spalte zuweise, weil es ja am anfang eine For IN schleife war!
hab nicht gedacht, dass es so einfach ist eine For TO schleife draus zu machen.
[autoit]
If IsArray($aMN) Then _ExcelWriteCell($oExcel, $aMN[0], $iRow, $iColumn)
If IsArray($aDest) Then
For $i = 1 To UBound($aDest) - 1
_ExcelWriteCell($oExcel, $aDest[$i], $iRow, $i+$iColumn)
Next
EndIf
$iRow += 1
[/autoit]so funktioniert es aber super!!!
dank dir man lernt halt immer dazu.
noch eine frage, könnte man das ganze auch um weitere felder ergänzen z.b. <NAME>, welches dann im excel nach dem <DESTNAME> ausgegeben wird?
Spoiler anzeigen
#include <String.au3>
#include <Array.au3>
#include <Excel.au3>
Global $sDir = @DesktopDir
[/autoit] [autoit][/autoit] [autoit]$FFFF = FileFindFirstFile($sDir & "\*.xml")
If $FFFF = -1 Then Exit MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
; erstelle excel dokument
Global $oExcel = _ExcelBookNew()
; Setze Start Reihe und Spalte fest:
Global $iRow = 2, $iColumn = 1
Do
$FFNF = FileFindNextFile($FFFF)
If @error Then ExitLoop
$aMN = _StringBetween(FileRead($sDir & "\" & $FFNF), "<MN20>", "</MN20>")
$aDest00 = _StringBetween(FileRead($sDir & "\" & $FFNF), "<DESTNAME>","</DESTNAME>")
$aDest00 = _ArrayUnique($aDest00)
$aDest01 = _StringBetween(FileRead($sDir & "\" & $FFNF), "<NAME>","</NAME>")
$aDest01 = _ArrayUnique($aDest01)
If IsArray($aMN) Then _ExcelWriteCell($oExcel, "'" & $aMN[0], $iRow, $iColumn)
If IsArray($aDest00) Then
For $i = 1 To UBound($aDest00) - 1
_ExcelWriteCell($oExcel, $aDest00[$i], $iRow, $i+$iColumn)
Next
If IsArray($aDest01) Then
For $i = 1 To UBound($aDest01) - 1
_ExcelWriteCell($oExcel, $aDest01[$i], $iRow, $i+$iColumn +2)
Next
EndIf
EndIf
$iRow += 1
Until 0
$oExcel.Columns.AutoFit
$oExcel.Rows.AutoFit
hab das mal so gemacht! scheint auch zu funktionieren!
gruß gmmg