Hallo Forum
Ich habe kleines Problem und ich hoffe das ihr mir weiterhelfen könnt.
Ich musste fast täglich Daten aus einem Excel in unser ERP-System reinschreiben, was nicht gerade der schönste Job ist. Nun habe ich vor ca. 1 Woche mein erlöser AutoIT endeckt und lese mich in die Materie ein.
Habe vorgestern mein ersten hiifreichen script fertig gestellt, der aber noch etwas langsam ist. Der Script funktioniert wie folgt;
1. Artikel Nr. aus Excel kopieren
2. ERP Programm Artikeldaten aktivieren, Artikel such modul öffnen, kopierte Artikel nr. einfügen, enter (Neues Fenster geht auf, Artikeldetails)
3. Excel aktivieren, Info zelle vom Artikel kopieren
4. ERP einfügen
5. Excel, Info2 kopieren
6 ERP einfügen
etc, etc, etc.
Die Schritte sind im Quellcode nochmals erläutert.
Der Script sieht wie folgt aus "Ist für euch bestimmt etwas lustig da das Ding sehr einfach aufgebaut ist " Wie gesagt bin 2 Wochen Neu...
[autoit]
Opt("WinWaitDelay",1000)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
Opt("SendKeyDelay",25)
Opt("SendKeyDownDelay",25)
$Pause=500
HotKeySet("{ESC}","Beenden")
Func _exit()
EXIT
Endfunc
For $i = 1 to 49
;~ Artikelnummer aus Excel kopieren, Cursor in das erste zu kopierende Feld stellen, Cluster voreinstellen!!!
WinWait("Microsoft Excel - Planartikel_PlanfensterExtra","")
If Not WinActive("Microsoft Excel - Planartikel_PlanfensterExtra","")Then WinActivate("Microsoft Excel - Planartikel_PlanfensterExtra","")
WinWaitActive("Microsoft Excel - Planartikel_PlanfensterExtra","")
Send("{CTRLDOWN}c{CTRLUP}")
Sleep($Pause)
;~ Planartikel suchen ERP
WinWait("cprpd1500m000 : Plan Item Data [User: pagnro] [400]","")
If Not WinActive("cprpd1500m000 : Plan Item Data [User: pagnro] [400]","")Then WinActivate("cprpd1500m000 : Plan Item Data [User: pagnro] [400]","")
WinWaitActive("cprpd1500m000 : Plan Item Data [User: pagnro] [400]","")
Send("{CTRLDOWN}f{CTRLUP}")
[/autoit][autoit][/autoit][autoit]Send("{TAB}{TAB}{TAB}{CTRLDOWN}v{CTRLUP}{TAB}{ENTER}{ENTER}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit];~ Planungsfensterdaten aus Excel kopieren
WinWait("Microsoft Excel - Planartikel_PlanfensterExtra","")
If Not WinActive("Microsoft Excel - Planartikel_PlanfensterExtra","")Then WinActivate("Microsoft Excel - Planartikel_PlanfensterExtra","")
WinWaitActive("Microsoft Excel - Planartikel_PlanfensterExtra","")
Send("{TAB}{TAB}{TAB}{TAB}{CTRLDOWN}c{CTRLUP}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Sleep($Pause)
;~ Planungsfenster im ERP eintragen Baan
WinWait("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
If Not WinActive("cprpd1101s000 : Plan Items [User: pagnro] [400]","")Then WinActivate("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
WinWaitActive("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{CTRLDOWN}v{CTRLUP}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit];~ Extra-Lead aus Excel kopieren
WinWait("Microsoft Excel - Planartikel_PlanfensterExtra","")
If Not WinActive("Microsoft Excel - Planartikel_PlanfensterExtra","")Then WinActivate("Microsoft Excel - Planartikel_PlanfensterExtra","")
WinWaitActive("Microsoft Excel - Planartikel_PlanfensterExtra","")
Send("{TAB}{CTRLDOWN}c{CTRLUP}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Sleep($Pause)
;~ Extra leadtime im ERP eintragen
WinWait("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
If Not WinActive("cprpd1101s000 : Plan Items [User: pagnro] [400]","")Then WinActivate("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
WinWaitActive("cprpd1101s000 : Plan Items [User: pagnro] [400]","")
Send("{TAB}{TAB}{TAB}{TAB}{CTRLDOWN}v{CTRLUP}{TAB}{TAB}{TAB}{ENTER}{UP}{ENTER}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit];~ nächster Artikel wählen
WinWait("Microsoft Excel - Planartikel_PlanfensterExtra","")
If Not WinActive("Microsoft Excel - Planartikel_PlanfensterExtra","")Then WinActivate("Microsoft Excel - Planartikel_PlanfensterExtra","")
WinWaitActive("Microsoft Excel - Planartikel_PlanfensterExtra","")
Send("{DOWN}{LEFT}{LEFT}{LEFT}{LEFT}{LEFT}")
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]Next
Func Beenden()
While 1
Exit
WEnd
EndFunc
Jetzt die Frage an die Profis, ist es möglich das ich die DAten alle beisammen aus dem Excel kopiere und im ERP einlese? Ich habe etwas über .ini gelesen, bekomme das aber nicht hin. Technisch hatte ich mir das so vorgestellt.
1. DAten aus Excel auslesen
2. Datensatz 1 ins ERP eintragen --> Artikel suchen, Artikel Detail öffnen, Wert1 eintragen, Wert2 eintragen, Wert3 eintragen, etc, etc, speicher schliessen.
3. DAtensatz 2........
Wenn di DAtensätze durch sind, stoppt das Ding. Bei meiner aktuellen Verison muss ich die Schleifen durchgänge angeben.
Ich hoffe ihr könnt mir einen Hint geben, damit ich weiter experimentieren kann.
Liebe Grüsse
Ramona