VBS Sendkeys

Jostmann

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen,

ich bin quasi frisch eingestiegen in die Welt von WinCC und habe direkt die Aufgabe bekommen mich in einen Webserver einzuwählen und wollte das in VBS schreiben. Dafür benutze ich in WinCC den Microsoft Webserver. Der dynamische Aufruf verschiedener Webseiten funktioniert soweit gut, allerdings muss ich auch Login Daten an einigen Websites eingeben. Da der Aufruf keine direkte übernahme von Login Daten verarbeiten kann wollte ich per sendkeys tabs, usernamen string, tab pw string und ein enter ans aktive Fenster senden, aber leider funktioniert das bisher noch nicht.

Ich stell unten mal ein Minimalbeispiel ein. Vielleicht hat ja jemand eine Idee oder einen guten Verweis auf ein ähnliches Problem und wäre so freundlich mir dieses mitzuteilen.

Vielen Dank schonmal im vorraus.

Code:
Function action

Dim objconnect
Dim objwebbrowser
Dim objeingabe

Set objeingabe=HMIRuntime.Tags("WScript.Shell")
Set objconnect=HMIRuntime.Tags("connect_webbrowser")
Set objwebbrowser=HMIRuntime.Screens("drill").ScreenItems("Control5")

objconnect.Read
If objconnect.Value=1 Then
HMIRuntime.Tags("test").Write 1
objwebbrowser.Navigate "http://www.google.de"
objeingabe.sendkeys "a"
End If
 
Code:
Dim objeingabe
Set objeingabe=HMIRuntime.Tags("WScript.Shell")
Ähmmm, dir ist schon klar das diese Zeile kein WScript.Shell-Objekt erzeugt sondern nur eine Kopie des
WinCC-Variablenobjekts "HMIRuntime.Tags" einer Variable namens "WScript.Shell" (Die wahrscheinlich nicht existiert).

Objekte erstellt man wie in vbs üblich mit CreateObject()
Müsste ungefähr so aussehen.
Code:
Dim WshShell
Set WshShell = CreateObject("Wscript.Shell")

WshShell.Sendkeys "Username"
WshShell.Sendkeys "{TAB}"
WshShell.Sendkeys "Password"
WshShell.Sendkeys "{ENTER}"
 
Zurück
Oben