第3回 VBScriptの基本を押さえよう(その2) 計算と分岐処理:基礎解説 演習方式で身につけるチェック式WSH超入門(1/2 ページ)
VBScriptプログラミング基本編その2。今回はVBScripによる計算処理と条件分岐処理を解説。「アハ体験」ができる「チェック式」も大好評。
今回は、前回に引き続きVBScriptの基本について学習する。具体的には、VBScriptを利用した計算処理と分岐処理について説明する。
■連載目次
第1回 WSHを始めよう
第2回 VBScript基本(1)文字列の入出力
第3回 VBScript基本(2)計算と分岐処理
第4回 関数を使いこなす:文字列、数値、日付
第5回 データ型について理解を深めよう
第6回 VBScriptの配列を極める
第7回 Subプロシージャで処理を定義
第8回 Functionプロシージャで関数を定義
第9回 VBScriptのオブジェクトを使いこなす
第10回 WScriptオブジェクト(1)
第11回 WScriptオブジェクト(2)
第12回 WshShellオブジェクト(1)
第13回 WshShellオブジェクト(2)
第14回 WshShellオブジェクト(3)
第15回 WshNetworkオブジェクト
第16回 FileSystemObjectオブジェクト(1)
第17回 FileSystemObjectオブジェクト(2)
第18回 FileSystemObjectオブジェクト(3)
第19回 TextStream/Dictionaryオブジェクト
WSHを電卓代わりに使ってみよう
VBScriptで数値計算を実行するにはどうするか。例として、コンピュータに簡単な計算をさせて、その結果を表示させてみよう。ここではまず、簡単な掛け算の式、12×6を計算してみる。
Option Explicit
Dim x
x = 12 * 6
MsgBox x
結果は次のようになる。
このように、12×6の答え、72が表示される。
2行目の変数宣言「Dim x」は、前回の文字列の場合と同じである。前回はxという変数に文字列を代入したが、今回は3行目で変数xに「12×6」の答えを代入している。なおVBScriptでは、掛け算をするには×ではなく、半角記号の*を用いる。*のような算数の計算をさせるための記号を算術演算子という。ほかの算術演算子については以下の表を参考にしてもらいたい。
演算子 | 演算の種類 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
\ | 割り算の商(整数部分) |
mod | 割り算の余り |
^ | べき乗 |
- | マイナス符号 |
VBScriptの演算子 |
なお、MsgBox関数の引数には、通常は文字列や文字列の変数を指定するのだが、4行目のように数値の入った変数(この例では「x」)を指定した場合には、値の数字が文字列として表示されるようになっている。
次にもう少し込み入った計算をしてみよう。次のような台形があるとき、その面積がどうなるかを計算してみよう。
台形の面積を求める公式は、「(上底+下底)×高さ÷2」であるので、それをそのままVBScriptの文で書くと次のようになる。
Option Explicit
Dim Area
Area = (5.1 + 8.3) * 2.5 / 2
MsgBox Area & "平方cm"
このスクリプトを実行すると、台形の面積、「16.75平方cm」が表示される。ここで注意していただきたいのは、VBScriptにおける計算は、算数の計算と同じく、+、−より*(積算)、/(除算)が先に実行されるという点である。そのため、台形の面積を求める際、上底と下底の和は( )の中に入れ、先に計算させるようにする。
4行目で & を使って数値を格納している変数と文字列を連結しているが、このようにすると、数値は文字列に変換されて連結される。
ではここで例題を1つ出そう。11人のサッカー選手がいるとする。その身長と体重が以下の表のようになっているとき、それぞれの平均を求めてみよう。
身長(cm) | 体重(kg) |
---|---|
175 | 72 |
181 | 77 |
178 | 73 |
181 | 77 |
176 | 72 |
178 | 69 |
187 | 78 |
177 | 75 |
180 | 77 |
173 | 63 |
179 | 78 |
とあるサッカー・チーム・メンバーの身長と体重のデータ |
変数がHeight、Weightと2つある場合でも、上のようにそれぞれについて平均値(合計を項目数で割る)を計算して求めればよい。
ごく簡単な例だが、WSH(VBScript)を電卓の代わりとして使えることがお分かりいただけたと思う。
Copyright© Digital Advantage Corp. All Rights Reserved.