VBSチュートリアル:VBScript文-If...Then...Else文

3295 ワード

If...Then...Else文は、式の値に基づいて条件付きで文のセットを実行します.
If condition Then statements [Else elsestatements ]
または、ブロック形式の構文を使用します.
If condition Then[statements][ElseIf condition-n Then[elseifstatements]] . . .[Else[elsestatements]]End If
パラメータcondition
次の2つのタイプの式が1つ以上あります.
演算結果がTrueまたはFalseの数値または文字列式.conditionがNullの場合、conditionはFalseとみなされます.
TypeOf objectname Is objecttypeのような形をした式.objectnameは任意のオブジェクトの参照であり、objecttypeは任意の有効なオブジェクトタイプである.objectnameがobjecttypeで指定されたオブジェクトタイプの場合、式はTrueです.そうでなければFalseです.
Statements
条件がTrueの場合、実行される1つまたは複数の(コロンで区切られた)文.
condition-n
同condition.
elseifstatements
関連するcondition-nがTrueの場合、1つ以上の文が実行されます.
elsestatements
前にconditionまたはcondition-n式がTrueでない場合、実行される1つ以上の文.
説明短い簡単なテストでは、単行形式(第1の構文)を使用できます.ただし、ブロック形式(第2の構文)は、単行形式よりも構造化と適応性が高く、読み取り、メンテナンス、デバッグが容易です.
注意単行構文では、Ifとして複数の文を実行できます.Thenが判断した結果、すべての文は同じ行にあり、次の文に示すようにコロンで区切らなければなりません.
If A>10 Then A=A+1:B=B+A:C=C+BプログラムがIfブロック(2番目の構文)に実行されると、conditionがテストされます.conditionがTrueの場合、Thenの後の文が実行されます.conditionがFalseの場合、ElseIfの各部分の条件式(ある場合)逐次計算してテストします.Trueの条件が見つかった場合、関連するThen以降の文が実行されます.True(またはElseIf句なし)のElseIf文が1つもない場合、Else以降の文が実行されます.ThenまたはElse以降の文が実行されると、End If以降の文が引き続き実行されます.
ElseとElseIfの句はオプションです.Ifブロックには任意の複数のElseIf句を配置することができるが,いずれもElse句の前に置かなければならない.Ifブロック文はネストすることができ、すなわち別のIfブロック文に含まれる.
文がIfブロックであるかどうかを判断するには、Thenキーの後に何があるかを確認します.Thenの同じ行の後に他の注釈以外の内容がある場合、この文は単行形式のIf文です.
Ifブロック文は、ある行の最初の文であり、End If文で終わる必要があります.条件がTrueのときに1行文を実行するには、If...Then...Else文の単行構文の例として、単行構文を示します.この例ではキーワードElseは省略していますのでご注意ください
 
  
Dim myDate '
myDate = #2/13/95# ' , :95-2-13
If myDate < Now Then myDate = Now ' , MyDate
MsgBox myDate ' myDate , :95-2-13

複数行コードを実行するには、複数行(またはブロック)構文を使用する必要があります.複数行(またはブロック)構文にはEnd If文が含まれます.
次の例では、複数行の構文を示します.次のようになります.
 
  
Dim myDate '
myDate = #2/13/95# ' , :95-2-13
If myDate < Now Then '
myDate = Now‘ MyDate, myDate
MsgBox myDate ' :95-2-13
End If

条件がTrueとFalseの場合は、それぞれ文を実行します.
If...Then...Else文は、2つの実行可能な文ブロックを定義します.条件がTrueの場合、ある文ブロックを実行し、条件がFalseの場合、別の文ブロックを実行します.具体例は以下の通りです.
 
  
Dim myDate '
myDate = #2/13/2222# ' , :2222-2-13
If myDate < Now Then '
myDate = Now ' MyDate, myDate
MsgBox myDate
Else
MsgBox myDate ' myDate , :2222-2-13
End If

複数の条件を判断する
If...Then...Else文の変形では、複数の条件から選択できます.すなわち、Ifを拡張するためにElseIf句を追加します.Then...Else文の機能により、さまざまな可能性のあるプログラムフローを制御できます.具体例は以下の通りです.
 
  
Dim value '
value = 10 ' 10
If value = 0 Then ' ,
MsgBox value
ElseIf value = 1 Then
MsgBox value
ElseIf value = 2 then
Msgbox value
Else
Msgbox " !" ' , ” !”
End If

任意の複数のElseIf句を追加して、複数の選択肢を提供できます.複数のElseIf句を使用すると、しばしば煩雑になります.複数の条件で選択するより良い方法は、SelectCase文を使用することです.