Batch file to VBScript file (4) at 1998 Nov. 10 Interrupt column 3 - 雑駁にソースの書き方の説明  ええと。あくまでバッチのコマンドをVBSでどう書けば良いか、ということを  主眼にしたかったのですが、破綻が見えてきたので簡単にソースの書き方を書いて  おきます。  と言っても全文法を詳解する、なんてことはしませんでほんのキモだけ。  1. ソースファイルは単なるテキスト。ただし拡張子は「.vbs」 NotePad (メモ帳)のような非常に軽いアプリで事足りるのが嬉しいですが、 予約語に色が付いたり、勝手に大文字小文字を変換してくれないのが淋しいです。 でもま、贅沢を言ってはいけませんね(笑)  2. ベタに書いた奴はそのまま順に実行される まさにバッチのノリ。これまで書いてきたサンプルの類はそうやって動作を 確認したものをCut&Pasteしたものです  3. サブルーチンやファンクションの類は呼ばれない限り実行されない ' 戻り値がない場合はSubとして定義する Sub foo () Call MsgBox("あほ〜") End Sub ' 戻り値がある場合、Functionとして定義し、その関数の名前に代入された ' 値を戻り値として使う Function bar () Call MsgBox("ばかぁ") bar = "ね!" End Function ' ここから実行がスタートする Dim a a = bar() Call foo() Call MsgBox(a)  4. 変数に「型」はない Dim i As Integer だとか、 Function xyz () As String は、ない。VBScriptでは変数は何でも入るド○エモンのポケットである。 (○に「ザ」を代入しないように。一挙に不気味になるから←だったら 書くな!>わし)  5. 文字列の連結には「&」を使う VBやってた人は分かると思うけど、要するに「+」だと数値の足し算なのか 数字(文字列)の連結なのか曖昧になる可能性があるから「&」を使って欲しい、 ということ。  6. 強制終了は次のようにやる Wscript.Quit 'End End、ぢゃないんですね。VBScriptを終わらせるのではなく、WSHを終わらせる という意味なのでしょう。この辺り、先ずWSHがあってその上でVBScriptなり JScriptなりが動いているという事情をよく表しています(そうか?)。  さて。では、教科書的なVBScriptのソースは一体どんな感じになるのか?ということを  私なりに書いてみます。 === Cut here (Begin) === ' This is sample VBS script file ' Copyright (C) 1998 by BD&ASS All Rights Reserved. ' ' ' Option Explicit ' Global variables Dim g_sAppName, g_sStr g_sAppName = "H-World" ' Application name and for a title string g_sStr = "Hello, world!" ' === Program entry === Call main() WScript.Quit ' === Subroutines === ' ------------------------------------- ' main function of this program ' Sub main() Call MsgBox(g_sStr,,g_sAppName) End Sub ' EOF === Cur here (End) ===  いきなりごちゃごちゃと……。と思ったでしょ?ま、現実なんてこんなもんさ(何がだ?)。  まぁここでただ1つだけ、どうしても指摘しておきたいことがあるとすれば、 Option Explicit  これだけ。つまり、Dimでちゃんと変数定義をしないとエラーになる、という宣言。  実はVBScriptはVBだからして黙っているとDimで変数宣言していない変数をばんばん  使用してもエラーにならない。だけど、これは非常に危険なので「絶対に」許しては  なりません(誰が誰に許すかって?あなたが、あなたに許す、だ)。  面倒だから、とOption Explicitしないあなた!いずれ酷い目に遭います。間違いなく。  確実にチェックしてくれるコンピュータの能力を、不完全で絶対に間違う人間の能力で  凌駕できると信じていて、実績もあるというなら止めませんが。  これに限らず、MSのデフォルトって見た目の(仕様上の)易しさを最上位に考えていて、  実際は危険側に倒れていることがあるので気を付けましょう。  #例えばMS製のe-mailのデフォルトがどれだけInternetコミュニティに迷惑かけた   (ている)か、ご存じですよね?  #で、お前はなんでSJISでホームページなのだ?とか言われると……(しおしお) (EOF)