Hallo zusammen,
ich habe mir ein VB-Script gebastelt das in unseren ERP-Artikelstamm automatisch mit allen Informationen befühlt die nicht über die PDM-Schnittstelle kommen. Das ganze arbeitet auch automatisch im Batch wenn mehrere Artikel in der Warteschlange sind.
Hier nun mein Problem.
Ich habe ein Feld in das ein * eingetragen werden muss aber hin und wieder sendet das Script ein + woraufhin das Script stehen bleibt bzw. beendet wird weil der Wert nicht zulässig ist.
Ich habe auch schon verschiedene "Tastenkombinatinen" zum senden des * versucht.
Code:
WshShell.SendKeys "*"
WshShell.SendKeys "+(+)"
WshShell.SendKeys Chr(42)
Ich sehe auch öffter das Texteingaben wie z.B. "NN" als "nn" oder "nN" gesendet werden, das ist aber nur halb so schlimm da diese Felder automatisch auf Großbuchstaben formatieren, seltsam ist es trotzdem.
Hat hier vielleicht jemand eine Idee wie ich das in meinen Augen willkürliche Verhalten abstellen kann.
Hier mal ein Codeausschnitt aus meinem Script.
Code:
Dim WshShell
Dim Text1, Text2Set WshShell = WScript.CreateObject("WScript.Shell")
Text1 = "660"
Text2 = "NN"
WshShell.AppActivate("[Grund der Änderung]") 'Fenstertitel Briefkasten
WshShell.SendKeys "{ENTER}"
WScript.Sleep 350
Do
WScript.Sleep 100
counter = counter + 1
If counter = 50 then
msgbox("Verarbeitungsfehler: Zeitüberschreitung, warten auf Teilestamm.")
WScript.Quit
End If
Loop Until WshShell.AppActivate("[Teilestamm]") 'Fenstertitel Teilestamm
WshShell.SendKeys Text1
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "4999" 'Produktgruppe
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "49990" 'Kostenträger
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys +(Text2) 'Disponent
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
WScript.Sleep 200
WshShell.SendKeys "{F7}"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
msgbox("Verarbeitung erfolgreich abgeschlossen")
WScript.Quit
Gruß
Bernd
------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---
Staatlich anerkannte Deutschniete
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP