簡単な入出力
どんなプログラムでも入力と出力は必要になる事は多いのでやってみよう。
先ず、メモ帳などで新規のテキストファイルを作り「test.vbs」等の名前で保存する。もしかしたらWinのお節介機能で「test.vbs.txt」となってしまうかも知れなので注意。できたファイルにVBSと言う言語でプログラムを書き込めば完成だ。
実行の仕方
プロンプトで
WScript test.vbs または CScript test.vbs
と入力すると実行できます。ただ、実行する際には保存したファイルのパスとカレントディレクトリを確認して適切に移動してね。
以下の説明ではそれぞれのソースを拡張子が"vbs"のファイルに書き込んで保存する。
文字列の表示
以前の説明の中では"Echo"と言うメソッドを使った。普段はこれで事足りると思う。
WScript.Echo "これでメッセージを表示出来ます。"
しかし文字列を表示するには他の命令も有る。"StdOut"や"MsgBox"でも文字列を表示できるが少しずつ違いがある。
WScript.StdOut.WriteLine "GUIでは表示できません。"
これは"cscript"で実行するとエラーが出る。一方
MsgBox "CUIでは表示できません。"
は"wscript"で実行するとエラーが出る。詳しくは
http://www.atmarkit.co.jp/fwin2k/operation/wsh03/wsh03_03.html
等を参照されたい。
文字列の入力
入力には"StdIn"や"Input"を使う。CUIをメインに使いたいので後者は使わない。
strExpr = Wscript.StdIn.ReadLine WScript.StdOut.WriteLine strExpr & _ ":の様に入力されました。"
ここで"&"は"文字列結合演算子"と言って、二つの文字列を繋ぐ時に使う。
起動時パラメータ
プログラムの起動時に
C:\practice>program param1 param2
の様にするとプログラムにパラメータなどを渡す事が出来る。VBSではこのパラメータはWScript.Argumentsプロパティに配列として格納されている。
WScript.Echo "最初のパラメータは" & _ WScript.Arguments.Item(0)
詳しくは
http://www.atmarkit.co.jp/fwin2k/operation/wsh04/wsh04_02.html
を参照あれ。
ここで" _"は"行継続文字"と言って1行の命令*1が長くなった時に複数行に分ける働きをする。VBでは1行1命令が基本。ちなみに":"を使うと1行に複数の命令を書ける。