by Fisatec » 28 Sep 2022, 03:37
Moin
@just me ,
Das ist alles soweit korrekt, bis auf 4.
Es wird fortlaufend nummeriert, bis eine Zelle mit Inhalt 99 erreicht wird. Es kann meherere Zellen mit Inhalt 99 geben, ggf dann auch über Nummer 99 hinaus. Wichtig ist, dass beim Erreichen der ersten Zelle mit Inhalt 99 die Zählung beendet wird.
Theoretisch hast du auch recht damit, dass eine leere Zelle den Zählvorgang beenden soll. Aber eine leere Zelle kann ich leider nicht auswählen.
Daher ist meine aktuelle Idee, die kopierten Werte in einer .ini abzulegen, um dann überprüfen zu können, ob eine Zahl doppelt kopiert wurde.
Das würde nämlich bedeuten, dass keine Zelle mit Inhalt 99 vorliegt und das Skript dann beendet wird.
mein aktuelles Skript:
Code: Select all
^j::
#IfWinActive ahk_class Infor ERP COM Produktion
{
IniDelete, % A_ScriptDir "\counting.ini", Reihenfolge
Loop {
clipboard:=""
Send ^c
ClipWait
IniWrite, % Clipboard, % A_ScriptDir "\counting.ini", Reihenfolge
IniRead, Zahl, % A_ScriptDir "\counting.ini", Reihenfolge
If (clipboard < 99) {
clipboard:=""
Send {UP}
Send ^c
ClipWait
x := Clipboard
x++
Send {DOWN}{LEFT}{Enter}{LEFT}
Send %x%
Send {DOWN}{LEFT}{Enter}{LEFT}
clipboard:=""
}
Else {
Sleep 1000
ExitApp
}
}
}
Die .ini wird angelegt und ausgelesen. Aber leider weiß ich nicht, wie ich jetzt auf doppelte Werte prüfen kann und damit die if-Funktion unterbrechen kann.
Bisher alles Trial&Error, funktioniert aber soweit. Bis auf Beenden des Zählvorgangs, wenn keine 99er Zelle vorliegt.
Liebe Grüße
Fisatec
Moin [mention]just me[/mention] ,
Das ist alles soweit korrekt, bis auf 4.
Es wird fortlaufend nummeriert, bis eine Zelle mit Inhalt 99 erreicht wird. Es kann meherere Zellen mit Inhalt 99 geben, ggf dann auch über Nummer 99 hinaus. Wichtig ist, dass beim Erreichen der ersten Zelle mit Inhalt 99 die Zählung beendet wird.
Theoretisch hast du auch recht damit, dass eine leere Zelle den Zählvorgang beenden soll. Aber eine leere Zelle kann ich leider nicht auswählen.
Daher ist meine aktuelle Idee, die kopierten Werte in einer .ini abzulegen, um dann überprüfen zu können, ob eine Zahl doppelt kopiert wurde.
Das würde nämlich bedeuten, dass keine Zelle mit Inhalt 99 vorliegt und das Skript dann beendet wird.
mein aktuelles Skript:
[code]^j::
#IfWinActive ahk_class Infor ERP COM Produktion
{
IniDelete, % A_ScriptDir "\counting.ini", Reihenfolge
Loop {
clipboard:=""
Send ^c
ClipWait
IniWrite, % Clipboard, % A_ScriptDir "\counting.ini", Reihenfolge
IniRead, Zahl, % A_ScriptDir "\counting.ini", Reihenfolge
If (clipboard < 99) {
clipboard:=""
Send {UP}
Send ^c
ClipWait
x := Clipboard
x++
Send {DOWN}{LEFT}{Enter}{LEFT}
Send %x%
Send {DOWN}{LEFT}{Enter}{LEFT}
clipboard:=""
}
Else {
Sleep 1000
ExitApp
}
}
}[/code]
Die .ini wird angelegt und ausgelesen. Aber leider weiß ich nicht, wie ich jetzt auf doppelte Werte prüfen kann und damit die if-Funktion unterbrechen kann.
Bisher alles Trial&Error, funktioniert aber soweit. Bis auf Beenden des Zählvorgangs, wenn keine 99er Zelle vorliegt.
Liebe Grüße
Fisatec