SELECT-CASE文を使った、複数条件分岐を行います。
通常の条件分岐はほとんどの場合If文で行いますが、
以下のように、ある一つの値によって複数の分岐が発生する場合は、
SELECT-CASE文を使ったほうがスマートです。
Select Case 値
Case 値の条件
処理1
Case 値の条件2
処理2
…
Case 値の条件9
処理9
Case ELSE
処理ERR
End Select
以下は、実際にSELECT-CASE文を使った例です。
Input.vbs
Sub Input_OnClick
Dim Text
Text = Document.GetElementById("test").value
Select Case Text
Case "Good Morning"
Text = "It's 7 O'Clock"
Case "Good Afternoon"
Text = "It's 14 O'Clock"
Case "Good Evening"
Text = "It's 21 O'Clock"
Case Else
Text = "zzz…"
End Select
MsgBox(Text)
End Sub
変数Textの値で条件分岐し、処理を行います。
想定しない値はElseで処理され、
この場合だと、変数Textに"zzz…"が代入されます。
DOMを利用して、テキストボックスへの出力を行います。
まずは、出力用のテキストボックスを作成します。
Message.html
<script type="text/vbscript" src="Message.vbs"></script>
<script type="text/vbscript" src="GameMessage.vbs"></script>
<script type="text/vbscript" src="input.vbs"></script>
<img src="test.png" width="300" height="300">
<input type="button" value="button1" name="Message"></br>
<input type="button" value="button2" name="GameMessage"></br>
入力</br>
<input type="text" id="InputText" value="" name="InputText">
<input type="button" value="入力" name="Input"></br>
出力</br>
<input type="text" id="OutputText" value="" name="OutputText"></br>
次に、DOMを利用してid="OutputText"の要素にアクセスし、
valueを書き換えます。
Input.vbs
Sub Input_OnClick
Dim Text
Text = Document.GetElementById("test").value
Select Case Text
Case "Good Morning"
Text = "It's 7 O'Clock"
Case "Good Afternoon"
Text = "It's 14 O'Clock"
Case "Good Evening"
Text = "It's 21 O'Clock"
Case Else
Text = "zzz…"
End Select
Document.GetElementById("test2").value=Text
'MsgBox(Text)
End Sub
シングルクォーテーション(')は以降の行のコメントアウトを表します。
コメントアウトされたコードは、プログラムの実行から除外されます。
上記の例では、MsgBoxがコメントアウトされるので、
メッセージボックスへの出力は行われません。
(文字列中のシングルクォーテーションにはコメント機能がありません)
VBScriptには複数行を一度にコメントアウトする機能はありません。
VB.netにもないですね。VB系はサポートされてないんですかね。
しかしご安心を、テキストエディタによっては、
一括でコメントアウトする機能が付いています。
今のところメモ帳を使っていますが、
そのうちエディタを変えたいと思いますので、
そのときは実例を見せれるかと思います。
最終更新:2011年06月16日 15:14