VBAでIEを起動して任意のURLを開く方法はいくつかありますが、単に開けばいいだけなら以下のコードでできます。
Shell "explorer.exe http://www.madoka-magica.com/", vbNormalFocus実行結果:
以前、IEでこうしたことをしたり起動したIEを制御したりというやり方を調べて、この日記にも書いたことがありました。でもIEって、今もう使わないんだよな・・・仕事ではほとんどChromeです。
で、Chromeでも上と同じことをやってみました。
できるにはできたのですが、ただ以下のように書いてもエラーになってしまいます。
できるにはできたのですが、ただ以下のように書いてもエラーになってしまいます。
'これではエラーになる Shell "chrome.exe http://www.madoka-magica.com/", vbNormalFocusエラーメッセージ:
Chromeの場所を教えてあげないと動いてくれません。
あらためてChromeってどこにあるんだと調べたら、変なところにインストールされてました(Windows XPの場合)。
C:\Documents and Settings\<ユーザー名>\Local Settings\Application Data\Google\Chrome\Application
環境によって異なるようです→本体のインストール先はどこ?(Google Chrome まとめWiki)
同じ環境でもPCによって<ユーザー名>部分が変わってしまうので、いずれにしろChromeの場所を調べるコードが必要になります。レジストリを見たら、アンインストール用の情報として以下の部分にインストール場所が書き込まれていました。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome\InstallLocation
WSHのRegReadでこのデータを読むことができますから、コードを以下のように修正してみました。
Dim objWsh As Object Dim sPath As String Const REG_KEY = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome\InstallLocation" Set objWsh = CreateObject("WScript.Shell") sPath = objWsh.RegRead(REG_KEY) Shell sPath & "\chrome.exe " & "http://www.madoka-magica.com/", vbNormalFocus実行結果:
いちおう動きました。
別の環境や今後のChromeのバージョンアップでも同じように動くかはわかりませんが。
ところで、Chromeはアドレスバーに何かキーワードを打ち込むとGoogleの検索URLに変換して勝手に飛ばしてくれます。URLのキーワード部分が入力した日本語のままなのがミソ。
これを利用すれば、任意の日本語の単語をそのまま渡してGoogle検索させるということもできるなあ、と思いました。
Dim objWsh As Object Dim sPath As String Dim sKeyWord As String Const REG_KEY = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome\InstallLocation" Const SEARCH_URL = "http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=" Set objWsh = CreateObject("WScript.Shell") sPath = objWsh.RegRead(REG_KEY) sKeyWord = "円環の理" '←日本語そのまま Shell sPath & "\chrome.exe " & SEARCH_URL & sKeyWord, vbNormalFocus「sKeyWord =」の部分は、たとえばコントロールの値から持ってくるとかInputBoxを使うとかすれば、なんか使い道があるかもしれません。
追記:
書き忘れましたが、標準のブラウザがはじめからChromeになっていればHyperlinks(1).Followを使ってもできます(Excelの場合)。
なお、インストール場所なら下記のキーを参照すべきだったようです。内容は一緒ですが。
書き忘れましたが、標準のブラウザがはじめからChromeになっていればHyperlinks(1).Followを使ってもできます(Excelの場合)。
なお、インストール場所なら下記のキーを参照すべきだったようです。内容は一緒ですが。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe\Path