VBScript: If文の中にIf文を入れる場合の書き方と注意点

VBScriptでIf文の中にIf文を入れる場合の書き方や注意点を紹介します。

If文の中にIf文を入れることを「ネスト」や「入れ子」と言いますが、 その場合は次のように記述します。

If a > 10 Then
	If b < 20 Then
		'' 処理
	End If
End If

if文を入れ子にする場合の注意点は次の2つです。

①:字下げ(インデント)する

入れ子にするIf文は必ず字下げ(インデント)して記述します。 もし字下げしないとコードが非常に見にくくなります。

次のサンプルコードは字下げしていないNGの例です。

If a > 10 Then
If b < 20 Then
	'' 処理
End If
End If

上のコードを実行しても、別にエラーになるわけではありません。 構文としては問題ありませんが、可読性・メンテナンス性が悪くなるので 入れ子にする場合は必ず字下げする習慣をつけましょう。

②:入れ子(ネスト)の深さは程々に

入れ子にする数を入れ子の深さといいます。 次のサンプルコードでは、if文の入れ子の深さは「3」です。

If a > 10 Then
	If b < 20 Then
		If c = 30 Then
			''処理
		End If
	End If
End If

上のコードを見てわかるように、 入れ子が深くなるほどコードの可読性・メンテナンス性が悪くなります。

深さの理想は「2」、多くても「3」まで、 もし「4」以上になるようでしたら、 ロジックを根本的に見直す方が賢明です。

VBScript入門