Excel VBAからGoogleを操作する方法 [プログラミング]
こんにちは。唐突ですが,自分の備忘のため,標記について記しておきます。VBAプログラムは以下のとおり。いきなりで唐突感があるとは思いますが,これを走らせると確かに「桜」をぐぐった画面が出てきます。
簡単に補足しておきます。
(1)「サイトの呼び出し待ち」では,objIE.Busy=FalseかつobjIE.ReadyState=4となるまで時間をつぶしていますが,これをやらないとGoogleの初期画面が完全に立ち上がる前にアクションを起こしてしまい,うまくいきません。
(2)「検索文字列の入力」では,Googleの初期画面において,「q」という名前の要素の値に「桜」と代入します。「q」というのは文字列を入れるテキストボックスを意味しますが,Googleの初期画面で右クリックしてソースコードを開き,「name="q"」をサーチしてみると,以下の記述が出てきます。ソースコードの前後から類推したわけです。(なお,typeが省略されているときは「type="text"」です。)
(3)「検索ボタンの押下」では,Googleの初期画面において,「btnG」という名前の要素をクリックします。「btnG」というのは検索ボタンを意味しますが,やはりGoogleの初期画面のソースコードで「name="btnG"」をサーチしてみると,以下の記述が出てきます。
かなり不親切でしたが,別の日にもう少し補足します。おしまい。
Option Explicit Public Sub LaunchWebSite() '**エクスプローラの立ち上げ Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True '**サイトの呼び出し Call objIE.Navigate("http://www.google.co.jp/") '**サイトの呼び出し待ち Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop '**検索文字列の入力 objIE.document.getElementsByName("q")(0).Value = "桜" '**検索ボタンの押下 objIE.document.getElementsByName("btnG")(0).Click End Sub
簡単に補足しておきます。
(1)「サイトの呼び出し待ち」では,objIE.Busy=FalseかつobjIE.ReadyState=4となるまで時間をつぶしていますが,これをやらないとGoogleの初期画面が完全に立ち上がる前にアクションを起こしてしまい,うまくいきません。
(2)「検索文字列の入力」では,Googleの初期画面において,「q」という名前の要素の値に「桜」と代入します。「q」というのは文字列を入れるテキストボックスを意味しますが,Googleの初期画面で右クリックしてソースコードを開き,「name="q"」をサーチしてみると,以下の記述が出てきます。ソースコードの前後から類推したわけです。(なお,typeが省略されているときは「type="text"」です。)
<input autocomplete="off" class="lst" value="" title="Google 検索" ...>
(3)「検索ボタンの押下」では,Googleの初期画面において,「btnG」という名前の要素をクリックします。「btnG」というのは検索ボタンを意味しますが,やはりGoogleの初期画面のソースコードで「name="btnG"」をサーチしてみると,以下の記述が出てきます。
<input class="lsb" value="Google 検索" name="btnG" type="submit">
かなり不親切でしたが,別の日にもう少し補足します。おしまい。
2013-03-11 18:23
nice!(0)
コメント(0)
トラックバック(0)
コメント 0