SSブログ

Excel VBAからGoogleを操作する方法 [プログラミング]

こんにちは。唐突ですが,自分の備忘のため,標記について記しておきます。VBAプログラムは以下のとおり。いきなりで唐突感があるとは思いますが,これを走らせると確かに「桜」をぐぐった画面が出てきます。
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">


かなり不親切でしたが,別の日にもう少し補足します。おしまい。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。