• 締切済み

formからホームページ内のtextboxへの入力

超初心者です。 いま,form内のテキストボックスに入力したログインパスワードなどを ホームページ上のテキストボックスにボタンを押したら入力されると言う物を作りたいのですが,どうすればいいのか全く分かりません。 色々,サイトで検索するのですが・・・・ どうか,みなさん教えてください。 よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

外部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)
回答No.1

ん~ ここで全て説明しろというのは 無理がありますよ 開発環境のVBのバージョンはどれですか? VB6,VB.NET2003,vb2005 Webページを扱いたいなら IEなどブラウザを直接扱えるように参照設定するか COMコントロールをフォームに貼り付けて使うか といった方法になります VB側で扱えるブラウザオブジェクトから HTMLDocuemtを取得 ID属性 または Name属性を指定して HTMLElementを特定 valueプロパティに 希望のデータをセット Submitボタンまたは Formを特定し Submitボタンならclickメソッド、Formならsubmitメソッドを実行 といった手順です …

knockman11
質問者

お礼

回答ありがとうございました。 しかしながら,超初心者の為,理解不能であります。 もっと,勉強してみます。 ちなみに,開発環境はVB2005です。 ありがとうごうざいました。