Stripped down it looks like this:
Code: Select all
XmlProcessor(){
xmlp := ComObject("MSXML2.DOMDocument.3.0")
xmlp.async := false
xmlp.load(ontvangstxml)
xmle := ComObject("Excel.Application")
xmle.Workbooks.Open(A_WorkingDir "\Administratie.xlsx")
xmle.visible := true
WinActivate ,"Administratie"
for ea in xmlp.getElementsByTagName("RequestDto")
{
xmle.Columns("A").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("1").item(0).text
xmle.Columns("B").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("2").item(0).text
xmle.Columns("C").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("3").item(0).text
xmle.Columns("D").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("4").item(0).text
xmle.Columns("E").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("5").item(0).text
xmle.Columns("F").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("6").item(0).text
xmle.Columns("G").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("7").item(0).text
xmle.Columns("H").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("8").item(0).text
xmle.Columns("I").Find("*",,,,,2).Offset(1,0).value := ea.getElementsByTagName("9").item(0).text
}
xmle.activeworkbook.save
xmle.quit
}
}
Im thinking here that using
Code: Select all
xmle.Columns("E").Find
When i run the script, my youthful computer starts to have a sweat.
i thought of moving the Find command outside the For loop. And having it select that cell. To then have the For loop, offset the selected cell at each loop.
It's just that i do not have the knowhow to get that going.