小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

ドラッグ&ドロップで引数を受け取る 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を参考にしてください。