- 締切済み
formからホームページ内のtextboxへの入力
超初心者です。 いま,form内のテキストボックスに入力したログインパスワードなどを ホームページ上のテキストボックスにボタンを押したら入力されると言う物を作りたいのですが,どうすればいいのか全く分かりません。 色々,サイトで検索するのですが・・・・ どうか,みなさん教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
外部IEを自動起動するパターンなら WindowsFormプロジェクトを開始します プロジェクト > 参照の追加の『COMタブ』を選択 『Microsoft HTML Object Library』、『Microsoft Internet Controls』 双方を選択(Ctrlを押しながらクリックすれば複数選択できます)しOK フォームに テキストボックス3個 ボタンを2個貼り付けます TextBox1はログイン操作をしたいURLを入力 TextBox2はユーザー名の入力 TextBox3はパスワードの入力 Button1はTextBox1を使ってIEを起動用 Button2はTextBox2、TextBox3を使ってログイン用 とします イベントプロシージャのスケルトン(雛形)を作ります Form1のデザインでButton1をダブルクリック もう一度デザイン画面に戻して Button2をダブルクリッククリック コードウィンドウ(FORM1.vb)を表示します 参照設定した COMを扱いやすいように Imports設定を行います コードウィンドウの先頭(Public Class Form1より上の行)に Imports ShDocVw Imports mshtml を追加 IEのイベントを取得できるようにオブジェクト変数を作成する 『Public Class Form1』の次の行に Public WithEvents oIE as InternetExplorer 次に Button1のイベント内容を記述 if TextBox1.Text = "" then ' URLが入力されていない場合は処理を中断 Exit Sub end if if oIE is nothing then ' IEオブジェクトを構築して、表示 oIE = new InternetExplorer oIE.Visible = true end if ' 指定URLを表示するように IEに指示 oIE.Navigate2( TextBox1.Text) Botton2のイベント内容を記述 dim doc as HTMLDocument dim oUser, oPass as HTMLInputElement dim oFrm as HTMLFormElement if TextBox2.Text = "" OrElse TextBox3.text = "" then ' テキストボックス2,3の入力が完了していないなら処理中断 Exit Sub end if ' HTMLを取得 doc = oIE.Document if doc.Url = TextBox1.Text then ' <input type="Text" id = "username">のタグを探す oUser = doc.GetElementById("username") ' <input type="Text" id = "passwd">のタグを探す oPass = doc.GetelementById("passwd") if ( oUser isnot Nothing ) AndAlso ( oPass isnot Nothing) then ' 探したタグに データを設定 oUser.value = TextBox2.Text oPass.value = TextBox3.Text ' <form id ="login_form">タグを探す oFrm = doc.GetElementById("login_form") if oFrm isnot Nothing then ' submitメソッド実行してログインする oFrm.submit() else MsgBox "フォーム login_form が見つかりません" end if end if end if タグの名称(username,passwd,login_form)は適宜修正してください # 字下げは全角スペースです エラーになる場合は半角スペースに置換しましょう
- redfox63
- ベストアンサー率71% (1325/1856)
ん~ ここで全て説明しろというのは 無理がありますよ 開発環境のVBのバージョンはどれですか? VB6,VB.NET2003,vb2005 Webページを扱いたいなら IEなどブラウザを直接扱えるように参照設定するか COMコントロールをフォームに貼り付けて使うか といった方法になります VB側で扱えるブラウザオブジェクトから HTMLDocuemtを取得 ID属性 または Name属性を指定して HTMLElementを特定 valueプロパティに 希望のデータをセット Submitボタンまたは Formを特定し Submitボタンならclickメソッド、Formならsubmitメソッドを実行 といった手順です …
お礼
回答ありがとうございました。 しかしながら,超初心者の為,理解不能であります。 もっと,勉強してみます。 ちなみに,開発環境はVB2005です。 ありがとうごうざいました。