• ベストアンサー

VB.NETでIE上にキーワードを入力したい

khazad-leftyの回答

回答No.1

ASP.NET上の話と仮定して話を進めます。 別のサイトのページのテキストボックスにキーワードを入力するのはかなり無理があります。 ASP.NETの結果として帰ってくるのは最終的にはWEBページでしかないので、自分が関与していないページの内容を同行するのは不可能です。 とりあえず方法として、 1.フレーム内に該当の検索ページを表示、JavaScriptを使ってそのページのテキストボックスにキーワードを埋め込む。  →ただ、フレーム内にある別サイトのページをJavaScriptで操作するのは、ブラウザのセキュリティ設定をいじらないといけなかった記憶が…。 2.検索結果表示用のURLを作成、直接検索結果のページを表示する。  →通常の検索エンジンは、検索条件をURLに含め、そのURLに基づき結果を表示しているので、そのURL文字列を作成してそのページにジャンプ(またはJavaScriptなどで別ページにて表示)する。

leopon
質問者

お礼

ご回答有難うございました。 相当難しそうですね。 Excelの下記マクロを使って入力できるところまでは調べたのですが、これと同じような動作をVB.NETのWindowsアプリケーションからやりたいと思います。 Excelのマクロ Sub test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.leonet.jp/search/" Do While objIE.Busy = True DoEvents Loop objIE.document.all.word.Value = "検索文字" End Sub VB.NETのWindowsアプリケーションから下記の方法でIEを開くところまではできたのですが、その後がわかりません。 VB.NETプログラム Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click System.Diagnostics.Process.Start _ ("C:\Program Files\Internet Explorer\IEXPLORE.EXE") End Sub ちなみに、Excelのマクロでは検索窓の部分のHTMLソースのwordをキーにしているようです。 http://www.leonet.jp/search/の検索窓の部分のHTMLソース <INPUT type=hidden value=search name=mode><INPUT type=hidden value=1 name=page> <INPUT type=hidden value=mark name=sort> <INPUT name=word> 説明不足で申し訳ありませんでしたが、Excelのマクロのような感じでVB.NETのWindowsアプリケーションからできないものでしょうか。 よろしければ、又ご教示願います。

関連するQ&A

  • VB2008 textbox入力判断について

    こんばんは、いつもお世話になりました。 VB2008で "ストップワォッチ"と"タイムダウン"のプログラムを作っています。 要望: 1 TextBox1.textが入力しない時、ストップワォッチを実行 (OK) 2 TextBox1.textが入力する時、TextBox1.textの値からタイムダウンを実行 (OK) 3 TextBox1.textの値をクリアされた時、再度ストップワォッチを実行 4 TextBox1.textに文字列入力された時、数字に変更してから タイムダウンを実行 (例:全角12:56 →12:56) 5 TextBox1.textが入力エラーの場合は プログラムを抜け、何もしないこと 下記のソースでしたら、3と4,5はまだできていません。 宜しくお願いします。 ---------------------------------------------------- 'TextBox1.textが入力しない時、ストップワォッチを実行 If TextBox1.Modified = False Then Timer1.Enabled = True datStart = Now() Me.Button1.Enabled = False Me.Button3.Enabled = False End If 'TextBox1.textが入力する時、TextBox1.textの値からタイムダウンを実行 If TextBox1.Modified = True Then dTime = TextBox1.Text Timer2.Interval = 1000 Timer2.Enabled = True End If 'TextBox1.textの値を再度クリアされた時、ストップワォッチを実行 If Len(TextBox1.Text) = 0 Then TextBox1.Modified = False End If -------------------------------------------------------------- 以上

  • VB.NETでのプログラミングについて

    秒数から「○時間○分○秒」と表示されるプログラムを作りたいと考えています。出来たところまでをご説明致しますと、まずTextBoxを四つとButtonが一つと時間の単位が表示されるLabelを四つ作りました。そして問題のプログラムについてなんですが、TextBox「3600」秒と入力しButtonをクリックすると、他の三つのTextBoxに「1」時間「0」分「0」秒と表示されるといったプログラムを作成したいのです。どうかよろしくお願い致します。

  • VB.NETでテーブルを作成

    VB.NETとAcceseを使用してフォームの入力内容に基にボタンをしてDBにテーブルを作成するプログラムを作成していますが上手くいきません。 どのようにすれば上手くいくのか教えてください。 よろしくお願いします。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Cn As New OleDb.OleDbConnection() Cn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Application.StartupPath & "\products.mdb" Cn.Open() Dim mysql As New OleDb.OleDbCommand() mysql.Connection = Cn mysql.CommandText = "CREATE TABLE '" & TextBox1.Text & "' ('" & TextBox2.Text & "' '" & ComboBox1.Text & "' NOT NULL,'" & TextBox2.Text & "' '" & ComboBox2.Text & "','" & TextBox3.Text & "' '" & ComboBox3.Text & "',PRIMARY KEY('" & TextBox1.Text & "'))" Cn.Close() End Sub

  • 【C#】textboxに入力されたキーワードを使った処理

    【C#】textboxに入力されたキーワードを使った処理 C#初心者です。 以下の二つを知りたいので、分かる方いらっしゃいましたらサンプルソースなどで教えていただけると幸いです。 (1)textboxに文字が入力されているか、されていないかを判断する処理。 (2)もし入力されていたら、その文字を文字列KEYWORDに代入する処理。 宜しくお願いいたします。

  • キーワードが入力されません。

    googleの、検索エンジンで、キーワードを入力しているのに、ぜんぜん表示されてこないときは、どうすればいいでしょうか?

  • VB2005 TextBoxに何も入力しない場合のエラー

    VB入門者なので、よろしくお願いします。 VB2005で、Textboxに何も文字を入力しないで Button1をクリックしたら、  MessageBox.Show("何か入力してください", "エラーメッセージ") の様に何かエラーメッセージが表示されるようにしたいのですが、何かいい方法はありますか? ちなみにTextboxに入力するものは、ひらがな、数字、漢字、ローマ字 なんでも入力できるようにしています。

  • VB2005でExcelのアクティブセルに文字を入力したあとに

    VB2005初心者です。 VB2005のTextBox1に表示された文字をExcelのActiveCellに入力するプログラムを先ほど教えて頂きました。 そのあとの追加動作でActiveCellに文字を入力した後、ActiveCellを一段下げ、TextBox1の文字が変化したらActiveCellに変化した文字を入力するような繰り返し処理をさせるにはどのようにプログラムすればいいのでしょうか? 以下のコードはTextBox1の文字をActiveCellに表示させるプログラムです。ここにどのように追加すればいいのか教えて頂けませんでしょうか? Dim xlApp As Object = GetObject(, "Excel.Application") xlApp.ActiveCell.value = TextBox1.Text xlApp = Nothing どうぞよろしくお願いいたします。

  • VB2010について

    Microsoft Visual Basic2010で以下のようなブラウザを作ろうとしています。 TextBox1とTextBox2に文字を入力してButton1をクリックすると、TextBox1とTextBox2に入力した文字が自分のメールボックスに届くような事ができるサンプルコードを教えてください。 回答できる方是非お願いします。

  • VB2005 コントロール配列について教えていただけませんか?

    現在VB2005を用いてプログラムを行なっている初心者です。 ここのサイトでVB2005ではコントロール配列は使用できないことを知りました。そこで、例えばフォーム上にTextBoxを5個配置して、各TextBoxに入力された値を配列に格納するのにはどのようにすれば良いでしょうか? data(0) = textbox1.text data(1) = textbox2.textと一つずつやるしかないでしょうか・・・ For文などを用いて簡単にできる方法を教えてください。 よろしくお願い致します。

  • vb.netで、ステートメントの終わりを指定してくださいとエラーが出ま

    vb.netで、ステートメントの終わりを指定してくださいとエラーが出ます。 出る部分は、以下のコードです Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Visible = True Then Me.TextBox9.AppendText("第1小計") + (textbox1.text) + ("円") こんな感じです。 したいことは、ボタン1をクリック時にテキストボックス1が、表示されていたら、テキストボックスに、第1小計とテキストボックス9の中身と円を入力するというかんじです。 ステートメントの終わりを指定してくださいというエラーが出て困っています。 どうすればいいでしょうか? あと、今、書いたコードと似ている動作ができたら何でもOKです。 VBは、バージョンが、2010です vb.net時代ですのデ・・・ よろしくおねがいします