Hallo
Ich habe folgendes Problem: mein duplicate cheker for QWS3270 muss immer im vordergund laufen.
Ich würde diesen prozess gerne in denn hintergrung verschieben so das man in der Zwischenzeit was anderes machen kann.
Ich habe leider nur keine ahnung wie?
das programm was ich angehängt habe kann es egal ob das fenster im vordergrund ist oder minimiert.
es kann auch die daten direckt an die richtige stelle schreiben egal ob die datei inimiert ist oder nicht ohne das ich
die bewegungs daten wie down5 oder left17 benutzen muss.
leider habe ich keine ahnung von der programierung der MDE oder wie es geht.
Würde mich freuen wenn sich einer mal die MDE anschaut und mein script um laufen bringt
Spoiler anzeigen
BlockInput (1)
[/autoit] [autoit][/autoit] [autoit]#include <Excel.au3>
$sPath = @ScriptDir & "\Test1.xls"
$oExcel = _ExcelBookOpen($sPath, 0) ; == Visible auf '0', Excel bleibt im Hintergrund
$iRow = 1
While True
$value = _ExcelReadCell($oExcel, "A" & $iRow)
If $value = "" Then ExitLoop
$return = _Data($value) ; == Aufruf der Verarbeitungsfunktion, Verarbeitungswert auffangen
_ExcelWriteCell($oExcel, $return, "B" & $iRow)
$iRow += 1
WEnd
_ExcelBookClose($oExcel)
Func _Data($value)
ClipPut($value) ; == Deine Anwendung braucht den Wert zum Arbeiten in der Zwischenablage?
WinActivate ( "QWS3270")
WinWaitActive("QWS3270")
Sleep (500)
Send ("{DOWN 2}")
Send ("^v")
Send ("{ENTER}")
Send ("9")
Send ("{ENTER}")
Sleep (500)
Send ("{up 14}")
send ("{left 37}")
Send("{LSHIFT down}")
Send("{LEFT 17}")
Send("{LSHIFT up}")
Send ("^c")
Send ("{F2}")
Return ClipGet() ; == Inhalt der Zwischenablage wird als Ergebnis zum Zurückschreiben zurückgegeben
EndFunc
BlockInput (0)
MsgBox (0, "Fertig", "Alle Daten in der XLS gespeichert", 2)
Gruss
Adamkaller