Zu erst einmal beschreibe ich, was ich vorhabe
Ich habe ein Programm, aus dem ich Daten abrufen kann, nachdem ich Suchparameter eingegeben habe....
Es handelt sich um 2 Felder einer CSV-Datei, die ich in zwei Suchfelder eingebe und dann die Suche auslöse durch drücken eines Buttons.
Aus lauter verzweiflung habe ich nun immer zu dem Prozess Excel gewechselt, ein Feld ausgewählt und Kopiert, wieder zurück zum "Suchprogramm", wieder zu Excel zurück, durch drücken des Tabulators zum nächsten Feld, zweiten Wert Kopiert und wieder zu meinem "Suchprogramm" um dort den zweiten Wert einzufügen und dann die Suche gestartet, die Ergebnisse aus den jeweiligen Feldern kopiert und jedes Mal step by Step zu Excel zurück gewechselt um die jeweiligen Ergebnisse einzufügen und zum Schluss mit "Enter" in die nächste Zeile gerutscht. Das Ganze dann durch eine Schleife so oft wiederholt wie benötigt.....
Geht das Ganze nicht auch etwas eleganter?
Ich habe mir vorgestellt, dass die beiden Suchbegriffe einfach nach einander aus einer CSV ausgelsen werden müsste, die suche wie gehabt startet und die ergebnisse dann einfach in die CSV eingespeichert werden.
Im Prinzip so wie bisher, nur dass ich nicht jedes Mal Excel für jeden einzelnen Schritt öffnen muss......
Die CSV ist aktuell wie folgt aufgebaut
A B C D E
1| Suchbegriff1 Suchbegriff2 Ergebis Ausgabefeld1 Ergebis Ausgabefeld2 Ergebis Ausgabefeld3
2| Suchbegriff1 Suchbegriff2 Ergebis Ausgabefeld1 Ergebis Ausgabefeld2 Ergebis Ausgabefeld3
3| ........
Aktuell schaut mein Script so aus:
Code: Select all
1::
Loop, 3
{
MouseClick, left, 595, 1067 ;Suchprogramm in der Taskleiste anklicken
sleep, 100
Send %A_Tab% ;
sleep, 100
send ^v ;Suchbegriff1 eingeben
sleep, 200
Send %A_Tab% ;Auf Suchfeld2 wechseln
sleep, 200
WinActivate, ahk_class XLMAIN ;zu Excel gehen um Wert2 zu holen
sleep, 100
Send %A_Tab%
sleep, 200
send ^c ;Suchbegriff2 aus Excel kopieren
sleep, 200
MouseClick, left, 595, 1067 ;Suchprogramm in der Taskleiste anklicken
sleep, 200
send ^v ;Suchbegriff2 einfügen im Suchprogramm
sleep, 100
send {enter} ;Suche starten
sleep, 1000
MouseClick, left, 954, 360 ;Ergebis Ausgabefeld1 auswählen und nachfolgend kopieren
sleep, 200
send ^a
sleep, 100
send ^c
sleep, 100
WinActivate, ahk_class XLMAIN ;Schwups wieder zu Excel um Ergebis Ausgabefeld1 einzufügen
sleep, 200
Send %A_Tab%
sleep, 100
send ^v ;Ergebis Ausgabefeld1 einfügen
sleep, 200
Send %A_Tab%
sleep, 200
MouseClick, left, 595, 1067 ;Suchprogramm in der Taskleiste anklicken
sleep, 100
MouseClick, left, 733, 315 ;Ergebis Ausgabefeld2 auswählen und kopieren
sleep, 100
send ^a
sleep, 100
send ^c
sleep, 100
WinActivate, ahk_class XLMAIN ;Wieder zu Excel zurück
sleep, 200
send ^v ;Ergebis Ausgabefeld2 einfügen
sleep, 200
Send %A_Tab%
sleep, 200
MouseClick, left, 595, 1067 ;Suchprogramm in der Taskleiste anklicken
sleep, 100
MouseClick, left, 594, 488 Ergebis Ausgabefeld3 auswählen und kopieren
sleep, 100
send ^a
sleep, 200
send ^c
sleep, 100
WinActivate, ahk_class XLMAIN
sleep, 200
send ^v ;Ergebis Ausgabefeld3 einfügen
sleep, 200
MouseClick, left, 595, 1067 ;Suchprogramm in der Taskleiste anklicken
sleep, 200
MouseClick, left, 40, 192 ;Neue Suche vorbereiten
sleep, 200
MouseClick, left, 216, 90 ;N Klicken
sleep, 200
WinActivate, ahk_class XLMAIN ;Nächsten Datensatz aus Excel aus der nächsten Zeile holen, Kopieren und dann wieder von vorn beginnen
sleep, 100
send {enter}
MouseClick, left, 335, 161
sleep, 100
MouseClick, left, 335, 161
sleep, 100
send ^c
sleep, 100
}
Exit
return
Wenn mir jemand helfen könnte, wie ich dieses Hin und Her springen ersparen kann zwischen dem Suchprogramm und Excel, wäre ich unendlich dankbar.... Das ganze Sytem läuft so aktuell echt nicht stabil und da mein Suchprogramm hin und wieder unterschiedliche Meldungen rauswirft, die nicht wirklich planbar sind, klickt der Teils bei Excel herum, was im Suchprogramm passieren sollte und somit eskaliert das alles sehr häufig....
Dann bin ich mal gespannt
LG Benjo