VB初心者です。さきほどの質問で、自分ができたところまでのソースを載せ忘れたので、改めて質問させていただきます。
今Visual Basic 2010 .Netで、
フォームに貼り付けたテキストボックスに入力した文字列を、
ボタンをクリックするとGoogleを立ち上げ、
そのGoogleのテキストボックスに先ほどフォームで入力した文字列を自動で入力、
入力後自動で検索のボタンをクリック
するというのを作成中なのですが、Googleを立ち上げたところまではできたのですが、テキストボックスへ自動で入力するところでエラーが出て止まっています。
フォームのテキストボックスの文字列の取得は成功してまして、参照の追加COMで必要な参照はしています。
フォームでWebブラウザのツールを使わずに上記をするのは無理なのでしょうか?
ご存知の方はご教示のほどよろしくお願いいたします。
下にソースを載せます。
Pubic Class Form1
Private WithEvents IE As SHDocVw.InternetExplorer
Private myUrl As String
Private Googletxt As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Not (IE Is Nothing) Then
IE.Quit()
IE = Nothing
End If
myUrl = "http://www.google.co.jp/"
IE = New SHDocVw.InternetExplorer
Googletxt = Textbox1.Text
IE.Visible = True
IE.Navigate2(myUrl.ToString)
End Sub
Private Sub IE_DocumentComplete(ByVal pDisp As Object, ByRef URL As Object) Handles IE.DocumentComplete
Invoke(New SHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(AddressOf foo), pDisp, URL)
End Sub
Private Sub foo(ByVal pDisp As Object, ByRef URL As Object)
Dim Doc0 As mshtml.HTMLDocument = CType(IE.Document, mshtml.HTMLDocument)
Dim ElCo As mshtml.IHTMLElementCollection = CType(Doc0.all, mshtml.IHTMLElementCollection)
Dim elem As mshtml.HTMLInputTextElement = DirectCast(ElCo.item("q"), mshtml.HTMLInputTextElement)
elem.value = Googletxt '検索キーワードの入力用テキストボックスに書き込み
Dim btn1 As mshtml.HTMLInputTextElement = DirectCast(ElCo.item("btnG"), mshtml.HTMLInputTextElement)
btn1.click() '検索ボタンをクリック
End Sub
End Class
エラー
elem.value = Googletxt
上記のところで、"オブジェクト参照が オブジェクトインスタンスに設定されていません。"
と出ています。
No.2ベストアンサー
- 回答日時:
IE のバージョン等でエラーが表示されるようです。
修正版をアップしておきましたので、書き換えて試して見て下さい。
それと、.NET 系のVBから IE や Excel 等のCom オブジェクトを操作するには必ず、Com オブジェクトの
解放処理が必要になります。
エラーやプロセスに残らないからと言って省略するような事は避けて下さい。
※ サンプル等の引用は、最低限 出典 等明記するようにして転載が許可されていない場合は
リンク等を貼って引用するようにしましょう。
ご回答、ご指摘ありがとうございます。
書き換え、COMの解放の処理を入れたのですが、エラーメッセージの解決になりませんでした。
ご回答いただいた内容で勉強し、解決したいと思います。
No.1
- 回答日時:
Process.Start("
http://google.co.jp/search?q=" + HttpUtility.UrlEncode(Textbox1.Text))参考
http://www.atmarkit.co.jp/fdotnet/dotnettips/212 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
エクセルVBAで2つの画像を比較...
-
VBAで Set wb = Sheets(1).Cop...
-
AccessVBAで「dim dbs as datab...
-
テキストボックス中の文字列の...
-
VBAで既に開いている別アプリケ...
-
VBScriptでファイルの日時順(降...
-
ExcelのVBAについて(グラフ操作)
-
ExcelVBAでのNZ関数について
-
【VB】【エクセル操作】 SaveAs...
-
VBAからPDFファイルにパスワー...
-
VBScriptからDLL参照設定したい
-
ADO 「NEW」の意味、必要性
-
ExcelでAccessのテーブルにADO...
-
上下の位置揃えについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
EXCEL VBA オートシェイプナン...
-
VBAからPDFファイルにパスワー...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
PowerPointVBAでスライドマスタ...
-
[VBA]CDOメッセージ送信エラー
-
AccessVBAで「dim dbs as datab...
-
VBAで作成するメール(開封確認...
-
VBからPDFファイル自動生成...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
テキストボックス中の文字列の...
-
エクセルマクロエラー「'Cells'...
おすすめ情報