セルの値をGoogle検索するには

Excelの内容を直接Google検索できればラクだなあ、と思うことがあります。

その場合にハイパーリンクを使う方法が一般的ではありますが、ハイパーリンクはどうしても内容がURL文字列でなければならない制約があります。

また、ハイパーリンクの場合は起動するブラウザはWindowsの既定の設定で指定されたブラウザに限定されてしまいます。

そうではなく、任意のブラウザでセルに書いた内容をそのまま検索したい、という場合です。

そのような場合には、ブラウザのアプリケーションに引数としてURLを渡して起動する、という方法を採ります。

アプリケーションの起動になるため、Shell関数を使います。

Shell関数の詳細については「VBAで他のアプリケーションで起動する(Shell)」をご参照ください。


ブラウザの指定

既定のブラウザがInternetExplorerになっていても、ChromeやFireFoxなどで検索したい場合があります。

以下のように「コントロールパネル」→「既定のプログラム」→「プログラムのアクセスとコンピュータの既定の設定」を開いて、以下のダイアログで既定のブラウザを変えてしまうのもありです。

しかし、今だけこのブラウザで開きたい、という場合もあります。

なので、使いたいブラウザのアプリケーションのフルパスを取得しておく必要があります。

通常はデスクトップやメニューにあるブラウザのショートカットのプロパティを見ることで分かります。

ちなみにWindows7であれば有名どころの3つは以下のような場所にあるようです。

InternetExplorer
C:\Program Files\Internet Explorer\iexplore.exe

FireFox
C:\Program Files\Mozilla Firefox\firefox.exe

Chrome
C:\Users\ログインユーザー名\AppData\Local\Google\Chrome\Application\chrome.exe


Google検索のURL

Googleでキーワードを検索すると、URL入力欄に表示されているURLが変わっていることが分かると思います。

HTTPプロトコルではデータをサーバに渡す場合に、GETとPOSTの2種類があります。

GETはURLにデータを入れて渡す方法で、POSTはURLを使いません。

Google検索ではGETを採用しているため、検索キーワードを書いた状態のURLを事前に作成することが可能です。

具体的には「www.google.co.jp/search?q=」の一番右の=に続いて検索キーワードを書けば、そのキーワードの検索結果が表示されます。


サンプルコード

以下は指定したブラウザでアクティブセルの値をGoogle検索するサンプルコードです。

ブラウザの種類はIE、FireFox、Chromeの3種類のパスを書いていますが、実際には使いたいブラウザのパスを入れてください。

ブラウザの起動はShell関数で行っています。



実行結果

アクティブセルに「福岡 水炊き」と書いてある状態にします。

 

次に、上のサンプルコードを実行すると、Chromeが起動してGoogle検索が行われます。