2017-07-07 7 views
1

2つの簡単なタスクを完了したいと考えています。パスワードを入力して、ユーザー名とパスワードをhttps://ktt.key.comに送信するVBAを使用して銀行にログイン

現在、ユーザー名タブに自分の名前を表示できますが、パスワードの入力に問題があります。提出する方法も提示してください。助けてくれてありがとう。

これは私がこれまで持っているものです...

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 

答えて

0

は、私はあなたがobjCollectionがオブジェクトとして設定されているに気づいたので、私はあなたのパスワードフィールドを移入するために1つを使用することになります。

変更:

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

へ:

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

し、その下に、ペースト:

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

だから、これはそれを何、それはtxtPasswordに新しいオブジェクトを設定します要素コレクション。次に、最初のインデックス(ここでは「txtPassword」の下に1つのインデックスしかありません)を取り、選択した値を割り当てます。 (With HTMLDocダウンからの)完全なコードは次のようになります。

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

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

が、これはあなたのために働くなら、私に教えてください。

+0

私はもう一度試しています。それで私はmoduleTargetに移りました。何らかの理由で実際の入力スポットがmoduleTargetに隠されている可能性があります。 –

+0

これを試したときに発生するエラーは、「実行時エラー」462:リモートサーバーマシンが存在しないか利用できないことです –

+0

「txtPassword」に「txtPassword」と同様に「value =」のようなものがあります"txtUserID"は、値を設定しようとするとエラーがどこにあるのかと思ったのですが、私はmoduleTargetと思っていました。 –

関連する問題