質問: excelvba 他のアプリケーションを開く こんにちは! 今、エクセルシート上に色々なファイルの絶対パス一覧があるのですが 絶対パスをダブルクリックするとその指定されているファイルを開くことが出来る・・・ということがやりたいです shellを使うことを考えたのですが、ファイルをどのアプリケーションで開くかを指定しなければならなそうです エクセルファイルだけ、というわけではないので、この様な場合はどうしたらよいでしょうか? ちなみに開きたいファイルは、excel、word、pdf、画像ファイルです
回答: windows scripting hostを使用すれば拡張子の関連づけでapを起動することが可能です。以下のサンプルを参考にしてください。 (ダブルクリックされたセルのファイルを実行するマクロです。ただしファイル名は z:\sample.pdf のようにフルパスで記述されている前提で書きました。パス名がない場合はパス名を編集して追記してください) private sub worksheet_beforedoubleclick(byval target as range, cancel as boolean) dim flname as string, wsh set wsh = createobject("wscript.shell") if typename(target) = "range" then flname = target.value wsh.run flname end if end sub