【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  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-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

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

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

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

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?