WebBrowserで指定した名前のTextBoxが存在するか調べるには?

解決


がじゅまる  2004-08-20 21:45:12  No: 85179

WebBrowserで、ある特定の名前のTextBoxが存在するかどうかの判定をしたいのですが、どうすればよいのでしょうか?

たとえば、mailという名前のTextBoxが存在するか調べたいのですが


りっとっと  2004-08-20 22:18:53  No: 85180

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
といった感じで調べられます。


がじゅまる  2004-08-21 00:08:54  No: 85181

丁寧に解説していただき、ありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加