スポンサーリンク

Excel VBA(マクロ)を使ってキーワードを Yahoo、Google で同時検索してタイトル、URL をシート上に表示する方法


Excel VBA を使えば Internet Explorer を操作することができます。

以前に、Excel シート上に入力したキーワードを Google、Yahoo で一括検索するマクロ(Excel VBA)を紹介しました。

上記リンクで紹介したプログラミングコードをアレンジして、検索した結果の1ページ目を同じ Excel シートに出力することもできます。

今日は、その  Excel シートと VBA のコードを紹介します。

*なお Google、Yahoo の HTML コードが変われば動作しなくなる可能性がある点、そもそも Excel VBA での Internet Explorer の操作が不安定な点があることをご理解下さい。

スポンサーリンク

1、システムの仕組みと Excel シート

さて、今回紹介するシステムの仕組みは次のようになっています。

Excel シートの所定のセルにキーワードを入力してマクロを実行すると、

Internet Explorerが起動してまず google  で先に入力したキーワードの検索を行い、検索結果1ページ目のタイトルと URL を同じ Excel シートに表示します。

続いて、Yahooでも先に入力したキーワードの検索を行い、同様に検索結果1ページ目のタイトルと URL を Excel シートに表示します。

Image(14)

Excel シートには検索キーワードを入力するセルと検索ボタンが設置してあります。

キーワードを入力後に検索ボタンをクリックすれば、最終的にそのキーワードで Google、Yahoo で検索された1ページ目のタイトルと URL が表示されるということですね。

Image(15)

例えば「軽減税率」と入力して検索した結果は、最終的には次のようになります↓

上側が Google 、下側が Yahoo の検索結果の1ページ目です。

タイトル(左側)と URL(右側) をそれぞれ表示します。

Image(16)

実際にどのように動作するか、 検索キーワードの入力から検索結果の表示までを動画にしましたので確認下さい。

2、VBA によるプログラミングコード

インターネット操作を行うためには、まずインターネット操作ができる状態にしなければなりません。

VBE(エディタ)を開き(Alt + F11)、ツール⇒参照設定で

・Microsoft HTML Object Library
・Microsoft Internet Controls

にチェックを付けましょう。

Image(17)

VBA コードを以下に示します。

全て1つの標準モジュールの中に書いております。

宣言セクション

Google_Yahoo_Search プロシージャ

Wait プロシージャ

3、ポイントとなる箇所

コードの詳しい説明は別記事にしようと思います。

今回はざっとした説明だけしておきます。

Google_Yahoo_Search プロシージャの中では、Internet Explorerをオブジェクトとして格納するための変数 IE1、IE2 を定義して使っています。

そして、Google、Yahoo ともに検索ボックスに Excel に入力したキーワードを入力して検索ボタンを押しています。

そのあたりのことについては、冒頭でも紹介したこちらの記事を参考にして下さい⇃

検索結果を Excel シート上に表示するためには、Google、Yahoo ともに HTML の中から、該当する箇所を拾い出さなければなりません。

規則性を探したところ タイトルと URL が H3 タグに含まれていることが分かったので、H3 タグを探し出しそこに含まれるテキストと URL を抽出しています。

そして、それを Excel シートに出力しています。

4、まとめ

今回は、Google、Yahoo ともに検索結果の一覧を表示させてだけですが、用途に応じてもっと便利な使い方もあると思います。

情報収集を自動化するために、検索した結果から必要な個所だけを引っ張り出したりすることも可能です(以前、一度そのようなコードを作ったこともあります)。

ただ、Excel VBA による Internet Explorer の操作はどうしても不安であることもあり、たまにコードがちゃんと実行しないことがあります。

PC 環境の変化によっても動く場合と動かない場合があるかもしれません。

毎回失敗することなく実行するようなコードに改良できれば良いのですが。

なお、インターネットエクスプローラ(IE)操作については、こちらの書籍がとても参考になります。