2017-07-07 5 views
1

Ich hoffe, 2 einfache Aufgaben abzuschließen. Geben Sie das Passwort ein und senden Sie den Benutzernamen und das Passwort an https://ktt.key.comLogin zu Bank mit VBA

Ich bin derzeit in der Lage, meinen Namen in der Registerkarte Benutzername anzuzeigen, habe aber Probleme beim Eingeben des Passworts. Bitte geben Sie auch an, wie Sie uns einreichen können. Danke für die Hilfe Jungs.

Das ist, was ich bisher haben ...

Sub login() 
    Dim IE As Object 
    Dim HTMLDoc As Object 
    Dim objCollection As Object 


    Const navOpenInNewTab = &H800 
    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 
    IE.Navigate "https://ktt.key.com/ktt/cmd/logon" 

    Do While IE.Busy Or IE.ReadyState <> 4: Loop 

    Set HTMLDoc = IE.document 
    Set htmlColl = HTMLDoc.getElementsByName("moduleTarget") 

    With HTMLDoc 
    HTMLDoc.getElementById("userId").Value = "xxxxx" 
    HTMLDoc.getElementByName("moduleTarget").Value = "xxxxxx" 
    End With 




End Sub 

Antwort

0

ich bemerkt, dass Sie haben objCollection als Objekt gesetzt, so will ich, dass man verwenden, um Ihr Passwort-Feld zu füllen.

Wechsel:

With HTMLDoc 
    HTMLDoc.getElementById("userId").Value = "xxxxx" 
    HTMLDoc.getElementByName("moduleTarget").Value = "xxxxxx" 
End With 

An:

With HTMLDoc 
    HTMLDoc.getElementById("userId").Value = "xxxxx" 
End With 

und dann unter, dass Paste:

Set objCollection = HTMLDoc.getelementsbyname("txtPassword") 
objCollection(0).Value = "1234" 'This is your password 

Also, was es tut, es ein neues Objekt in dem TxtPassword Element Sammlung. Dann nimmt es den ersten Index (es gibt nur einen Index unter "txtPassword") und weist den Wert Ihrer Wahl zu. Der vollständige Code (von With HTMLDoc unten) sollte wie folgt aussehen:

With HTMLDoc 
    HTMLDoc.getElementById("userId").Value = "xxxxx" 
End With 

Set objCollection = HTMLDoc.getelementsbyname("txtPassword") 
objCollection(0).Value = "1234" 'This is your password 

Lassen Sie mich wissen, ob dies für Sie arbeitet.

+0

Ich versuche es noch einmal, ich habe das vorher aber total probiert. Deshalb bin ich zu moduleTarget übergegangen. Vielleicht war der tatsächliche Eingabepunkt aus irgendeinem Grund in möglicherweise moduleTarget versteckt. –

+0

Der Fehler, den ich bekomme, wenn ich das versuche, ist "Laufzeitfehler '462: Der entfernte Server existiert nicht oder ist nicht verfügbar" –

+0

Eine Sache merke ich auch, für "txtPassword" gibt es keinen angrenzenden "value =" wie in "txtUserID", ich denke, versuchen, den Wert ist, wo der Fehler ist, das ist, was mich denken moduleTarget –