ドラッグ&ドロップで引数を受け取る for VBScript
VBScript(例えばdandd.vbs)を引数付きで実行する時は、普通、コマンドプロンプトから以下のようにします。
C:\>dandd.vbs aaa.txt bbb.txt ccc.txt
しかし実は、CUIでなくGUIでaaa.txt bbb.txt ccc.txtをドラッグし、dandd.vbsへドロップしても同じ効果になるのです。
そう、ドラッグ&ドロップが出来るのです。って知っている人には常識なのかもしれませんが・・・。
とりあえず、引数をMsgBox表示するdandd.vbsのソースです。
Option Explicit Dim args, arg Set args = WScript.Arguments For Each arg In args Call MsgBox(arg,,"引数に入力した文字列") Next
とりあえず、ソース説明すると・・・
- Option Explicitは、変数の宣言を強制します。今や常識ですね。
- Dimは、変数を宣言してメモリ領域を割り当てます。VBScriptではVariant型しかありません。
- Setは、関数のリターン値が参照の時やオブジェクトを返す時は、単なる代入はNGで、Set文を使います。
- For Each xxx In yyyは、コレクションや配列から要素を一つづつ取り出してループ処理をします。
- MsgBoxは、http://d.hatena.ne.jp/chaichanPaPa/20090404/1238852811を参考にしてください。