IE6.0を利用して、ヤフーのホームページに自動ログインするプログラムをVB2005で書いていて、
以下のような処理で、自動ログインさせようとしますが
Dim ObjDoc As HtmlDocument
Dim ObjElement As HtmlElement
(中略)
ObjDoc = WebBrowser1.Document
ObjElements = ObjDoc.GetElementsByTagName("INPUT")
For Each ObjElement In ObjElements
If LCase(ObjElement.Name) = "login" Then
ObjElement.InnerText = YUID
End If
If LCase(ObjElement.Name) = "passwd" Then
ObjElement.InnerText = YPWD
End If
If LCase(ObjElement.Name) = ".save" Then
ObjElement.submit()
Exit For
End If
Next
HtmlElementにsubmitというメソードは無いと怒られます。
このとき、どうやってsubmitを発行すれば良いのでしょうか?
他のメソッドでできます。
あえてかきません。
斜めに構えたレスポンスはおいといて、
Dim ObjElement As HtmlElement
と書くよりも、この場合は
Dim ObjElement As mshtml.HTMLInputElement
と書いたほうがよく、
ObjElement.submit()
ではなく
ObjElement.click()
で解決できるとわかりました。
VB2005はVB2003よりも厳密な形宣言の指定を要求されることがよくわかりました。
ツイート | ![]() |