【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
 

基礎解説

チェック式 WSH入門
―― 演習方式で身につけるWSH超入門 ――

第3回 VBScriptの基本を押さえよう(その2) 計算と分岐処理

1.WSHで計算処理をする

Microsoft MVP
Visual Developer - Scripting
牟田口 大介
2006/07/27
Page1 Page2

Index(全19回)
WSHを始めよう
VBScriptの基本を押さえよう(その1) 文字列の入出力
VBScriptの基本を押さえよう(その2) 計算と分岐処理
関数を使いこなす(その1) 文字列、数値、日付を扱う関数
データ型について理解を深めよう
VBScriptの配列を極める
Subプロシージャでユーザー独自の処理を定義する
Functionプロシージャでユーザー独自の関数を定義する
VBScriptのオブジェクトを使いこなす
WScriptオブジェクトを利用する(1)
WScriptオブジェクトを利用する(2)
WshShellオブジェクトを利用する(1)
WshShellオブジェクトを利用する(2)
WshShellオブジェクトを利用する(3)
WshNetworkオブジェクトを利用する
FileSystemObjectオブジェクトを利用する(1)
FileSystemObjectオブジェクトを利用する(2)
FileSystemObjectオブジェクトを利用する(3)
TextStreamオブジェクトとDictionaryオブジェクトを使う[最終回]

 今回は、前回に引き続きVBScriptの基本について学習する。具体的には、VBScriptを利用した計算処理と分岐処理について説明する。

WSHを電卓代わりに使ってみよう

 VBScriptで数値計算を実行するにはどうするか。例として、コンピュータに簡単な計算をさせて、その結果を表示させてみよう。ここではまず、簡単な掛け算の式、12×6を計算してみる。


Option Explicit
Dim x
x = 12 * 6
MsgBox x

 結果は次のようになる。

計算結果を表示したメッセージ・ボックス
12×6の答え、72が表示されている。

 このように、12×6の答え、72が表示される。

 2行目の変数宣言「Dim x」は、前回の文字列の場合と同じである。前回はxという変数に文字列を代入したが、今回は3行目で変数xに「12×6」の答えを代入している。なおVBScriptでは、掛け算をするには×ではなく、半角記号の*を用いる。*のような算数の計算をさせるための記号を算術演算子という。ほかの算術演算子については以下の表を参考にしてもらいたい。

演算子 演算の種類
+
足し算
-
引き算
*
掛け算
/
割り算
\
割り算の商(整数部分)
mod
割り算の余り
^
べき乗
-
マイナス符号
VBScriptの演算子

 なお、MsgBox関数の引数には、通常は文字列や文字列の変数を指定するのだが、4行目のように数値の入った変数(この例では「x」)を指定した場合には、値の数字が文字列として表示されるようになっている。

 次にもう少し込み入った計算をしてみよう。次のような台形があるとき、その面積がどうなるかを計算してみよう。

台形の面積を求める
VBScriptを使って、この台形の面積を求めてみよう。

 台形の面積を求める公式は、「(上底+下底)×高さ÷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
とあるサッカー・チーム・メンバーの身長と体重のデータ
 
マーカーで隠れたところを、1つずつクリックしてチェックしてみよう。 マーカーで隠れたところを、1つずつクリックしてチェックしてみよう。
Option Explicit
Dim Height, Weight
MsgBox "平均身長:" & Height & "cm" & vbCrLf & _
"平均体重:" & Weight & "kg"

 変数がHeight、Weightと2つある場合でも、上のようにそれぞれについて平均値(合計を項目数で割る)を計算して求めればよい。

 ごく簡単な例だが、WSH(VBScript)を電卓の代わりとして使えることがお分かりいただけたと思う。


 INDEX
  [基礎解説]チェック式 WSH入門
  第3回 VBScriptの基本を押さえよう(その2) 計算と分岐処理
  1.WSHで計算処理をする
    2.WSHで条件分岐処理をする
 
 基礎解説

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています