WebBrowserで、ある特定の名前のTextBoxが存在するかどうかの判定をしたいのですが、どうすればよいのでしょうか?
たとえば、mailという名前のTextBoxが存在するか調べたいのですが
Microsoft HTML Object Library を参照設定して、
WebBrowserのDocumentCompleteイベントなどで
Dim HTMLDoc As HTMLDocument
Dim Elms as Object
Dim Elm As Object
Set HTMLDoc = WebBrowser1.Document
Set Elms = HTMLDoc.ElementsByName("mail")
とすれば、mailという名前のエレメント(テキストボックスとは限らない)
が取得できます。
もし、存在しない場合は、このElmsのLengthプロパティが0となりますので
この値で存在するかどうかがわかります。
また、テキストボックス限定で調べたいのでしたら
Set Elms = HTMLDoc.ElementsByTagName("Input")
とすれば、ElmsにInputタグを使用したエレメントすべてが配列として
取得できますので、
For cnt = 0 To Elms.length - 1
If Elms(cnt).Name = "mail" Then
Exit For
End If
Next
If cnt = Elms.length Then
MsgBox "なし"
Else
MsgBox "あり"
End If
といった感じで調べられます。
丁寧に解説していただき、ありがとうございました
編集 削除