2010年2月17日水曜日

VBS(VBScript)+WSHで簡易ランチャー

VBS(VBScript)&WSHについてでーっす。
VBS+WSHを使った簡易ランチャー作成のご紹介。

仕事上あっちのフォルダ、こっちのフォルダ、そっちのフォルダと開いたり、アプリケーションを起動したりとガチャガチャ仕事をしてるのですが、いちいちマウス使うのも面倒なので、何か無いかなーと思ったときに、VBSを見つけました。
要はVBScriptなのだけれども、テキストで書いて拡張子を「vbs」で保存すれば出来上がりなので気楽に作成できます。
そしてWSHを利用するとフォルダやアプリケーションを起動もできるので、VBS+WSHで簡易ランチャーを作ってみました。

== x_簡易ランチャー.vbs ==

'--------------------------
' 簡易ランチャー
'--------------------------

'変数定義
Dim objWSH 'Wscript.Shellオブジェクト格納
Dim l_kinou '機能選択
Dim path '起動させるアプリ等のパス
Dim l_default_kinou '機能の初期値
l_default_kinou = 0 '初期値は0

'機能選択 0:IE8、1:Firefox、2:Google Chrome、9:Cドライブ 初期値0で表示
l_kinou=inputbox("ソフト 0:IE8、1:Firefox、2:Google Chrome","",l_default_kinou)


'入力された数字によってソフト、フォルダのパスをセット
if l_kinou = "0" then
  path = "C:\Program Files\Internet Explorer\iexplore.exe"
elseif l_kinou = "1" then
  path = "C:\Program Files\Mozilla Firefox\firefox.exe"
elseif l_kinou = "2" then
  path = "C:\Program Files\Google\Chrome\Application\chrome.exe"
elseif l_kinou = "9" then
  path = "C:\"
end if

if path <> "" then
  'Wscript.Shellオブジェクト作成
  Set objWSH = CreateObject("Wscript.Shell")

  '実行
  objWSH.Run """" & path & """"

  'オブジェクト変数をクリア
  Set objWSH = Nothing
end if

テキストに上記の内容を書き込み、「x_ランチャー.vbs」で保存。ファイルをクリックすると以下の画面がでてきます。

<機能選択画面>


この画面はVBScriptの「inputbox」によるもので、ここに入力された数字によって処理を分けるといった感じです。
そしてアプリ起動やフォルダを開くのにWSHを使います。

 Set objWSH = CreateObject("Wscript.Shell")

でWscript.Shellオブジェクト作成して

 objWSH.Run """" & path & """"

で、path変数に設定されているアプリの起動やフォルダのオープンが行われます。(Runする場合には、起動するプログラムやフォルダを「"」で囲む必要があるのですが、VBSscriptで「"」をあらわすのに「""""」となります。「""」とするとエスケープされて「"」と認識されるようなので、真ん中の「""」が「"」となり、その前後の「"」は、単に文字列をあらわすための「"」となります。)

これで数字をいれればアプリ、フォルダを開く事のできる簡易ランチャーができるのですが、キーボードからサクッとこの簡易ランチャーを開くために、スタートの中にショートカットを作成します。

<スタートメニューにショートカット作成>


これで「ウインドウズボタン⇒xキー」で簡易ランチャーが起動できます。
ちょっとした事なんだけれども、少しだけ楽ちんになります。

(書き終わった後に思ったんだけど、ソースの部分はテキストエリアのがいいかなと。今度直そうかなー。)