- ベストアンサー
ブラウザのテキストボックスへの入力
WEBブラウザにHTMLで構成されているテキストボックスにVBプログラムから文字列を入力することができますでしょうか。 イメージとしては、ブラウザにHTML表示されたID,パスワード欄にVBプログラムから入力を行い、同じくHTMLのsubmitボタンをVBから押下するという感じです。 また、可能である場合、具体的にどのようにすればできるか、参考情報、サイト等教えていただけませんでしょうか。 ベーシック認証時などにポップアップ表示されるダイアログへのID/パスワードなどの入力プログラムを以前作成した際は、ウィンドウハンドルを取得して、sendmessageすることができたのですが、HTMLの部品はウィンドウハンドルで特定することができないので、苦慮しています。 以上、よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Webブラウザなどを GetObjectやCreateObjectでVB側で管理できるようにします その後取得したオブジェクトからHTMLDocumentオブジェクトを取得し getElementbyIdメソッドなどでテキストボックスを取得 valueプロパティに設定値を代入 Formタグに対してSubmitメソッド といった具合でしょう 参照設定としては 『Microsoft Internet controls』 ... IEの場合 『Microsoft HTML Object Libraly』 などを使います
その他の回答 (1)
- wingtodo
- ベストアンサー率56% (9/16)
カン違いな回答だったらごめんなさい。 VB2005の場合ですが。 Private IE As Object Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim strURL As String = "http://www.XXXX.XXXX" IE = CreateObject("InternetExplorer.application") IE.Navigate(strURL) IE.Visible = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click IE.Document.Forms(0).Elements("ID").value = "XXXXX" IE.Document.Forms(0).Elements("PASSWORD").value = "XXXXX" IE.Document.Forms(0).Elements("SUBMIT").click() End Sub Elementsの"ID"や"PASSWORD"は仮称ですのでソース等で確認して設定してみてください。 うまく動かなかったらごめんなさい。
お礼
私の環境を書くのを忘れていました。すみません。 VB6.0ですので、そのままでは動かなかったですが、基本的な考え方はいただいた記述のとおりでした。 どうもありがとうございました。
お礼
ご回答ありがとうございました。 HTMLDocumentオブジェクトを取得することで各エレメントを指定して値の入力、ボタンの押下ができました! getElementbyIdの使用法がよくわからなかった(うまくいかなかった)ので、結局は オブジェクト.Document.All("ID").Value = "xxxxx" という記述になりました。 getElementByIdによる書き方も参考に教えていただけると幸いです。 ひとまずはおかげさまで解決できました。