プロパティ・メソッド・オブジェクトの意味を理解しよう次に、VBSを理解する上で避けて通れない用語である、プロパティ、メソッドそしてオブジェクトについて実例を挙げながら解説していきたいと思います。下のスクリプトを実行してみてください。strNameこのスクリプトは、実行したスクリプトのスクリプト名(ファイル名)を表示させるというものです。一行目でstrNameという変数を宣言しています。ちなみにstrとはstringの略で、文字型の変数名の頭によくつけますが、別に規則というわけではありません。二行目では、strNameという変数に値を代入しています。ここで代入している、Wscript.ScriptNameに注目してください。これは「WScriptオブジェクトのScriptNameプロパティ」です。三行目では、先ほど値を代入したstrNameを「WScriptオブジェクトのEchoメソッド」で表示しています。ここでプロパティ、メソッド、オブジェクトという三つのキーワードが登場しました。これらの意味を理解するために、人間(Man)をオブジェクトにたとえてみましょう(ありがちなたとえで恐縮です(^^;)。Manは年齢、性別、身長などの様々な要素を備えています。これらの要素をVBS的に書くと次のようになります。Man.AgeMan.SexMan.Heightつまり、Manオブジェクトは、Ageプロパティ、Sexプロパティ、Heightプロパティを持っている、と考えるわけです。ここでManは20歳で性別は男、身長は170cmであるとします。するとMan.Ageの値は20、Man.Sexの値は"Male"、Man.Heightの値は170となります。ここで上のスクリプトに話を戻しますと、二行目でWScriptオブジェクト(WSHで様々な機能を提供するオブジェクトと考えていただければ結構です)のScriptNameプロパティ(実行したスクリプトのスクリプト名を表す)を変数strNameに代入していることになります。次にまたManオブジェクトを考えます。Manは人間ですからいろいろな動作をします。食べる、走る、寝る等々。これらをVBS的に書くとこうなります。Man.EatMan.RunMan.SleepすなわちManはEatメソッド、Runメソッド、Sleepメソッドを持っているというわけです。ここで「"fish"」は「引数」という言い方をします。上のスクリプトに話を戻しますと、三行目ではWScriptオブジェクトのEchoメソッドで変数strNameの内容を表示しています。Echoメソッドは、引数(ここではstrName)の内容を表示させる働きをします。msgbox関数と似ていますが、値を返さないなどの点で異なっています(Lesson1参照)。WScriptオブジェクトには、他にもプロパティ・メソッドが存在します。ここを参考にしてください。ここで、関数、メソッド、プロパティの違いについて比較しておきましょう。できるものとできないものがあるLesson2ではオブジェクト、メソッド、プロパティの意味を解説しましたが、ご理解いただけましたでしょうか?他にどんなオブジェクトがありどうやって呼び出すか、またどんなメソッドやプロパティがあるかについては、VBS講座・応用編や、WSHで使えるオブジェクトの解説で再び述べることになると思います。次のLesson3ではフロー制御ステートメントなどについて解説していきたいと思います。