サーチ…


Ifステートメント

Ifコントロールステートメントでは、条件付き(ブール)ステートメントの評価に応じて異なるコードを実行できます。 FalseTrueまたはFalseいずれかを評価するものです(例: x > 2

以下に説明するIf文を実装する際に使用できるパターンは3つあります。 If条件付き評価の後に常にThenが続きます。

1. 1つのIf条件文を評価し、それがTrueあれば何かをする

単一行If

これは、 Ifを使用するための最短方法であり、 True評価時に1つのステートメントだけを実行する必要がある場合に便利です。この構文を使用する場合は、すべてのコードを1行に記述する必要があります。行末にEnd Ifを含めないでください。

If [Some condition is True] Then [Do something]

Ifブロック

True評価時に複数行のコードを実行する必要があるIfは、 Ifブロックを使用できます。

If [Some condition is True] Then
  [Do some things]
End If

複数行のIfブロックが使用されている場合、対応するEnd Ifが必要であることに注意してください。

2. 1つの条件付きIf文を評価し、 True場合は1つの処理を行い、 False場合は他の処理を行います

一行IfElseステートメント

これは、 True評価の際に1つのステートメントが実行され、 False評価で異なるステートメントが実行される場合に使用されます。この構文は、 Elseステートメントがあることを読者にはあまり明確ではないので、注意してください。この構文を使用する場合は、すべてのコードを1行に記述する必要があります。行末にEnd Ifを含めないでください。

If [Some condition is True] Then [Do something] Else [Do something else]

IfElseブロック

IfElseブロックを使用してコードに明瞭性を追加するか、 TrueまたはFalseいずれかの評価で複数のコード行を実行する必要がある場合。

If [Some condition is True] Then
   [Do some things]
Else
   [Do some other things]
End If

複数行のIfブロックが使用されている場合、対応するEnd Ifが必要であることに注意してください。

3.前のステートメントがすべてFalseである場合、多くの条件ステートメントを評価し、ステートメントごとに異なる処理を行う

このパターンは、 If最も一般的な使用であり、異なる処理を必要とする重複しない条件が多い場合に使用されます。最初の2つのパターンとは異なり、このケースでは、条件ごとに1行のコードしか実行されない場合でも、 Ifブロックを使用する必要があります。

IfElseIf...Elseブロック

多くのIfブロックを別のブロックの下に1つ作成する代わりに、 ElseIfを使用して余分な条件を評価することがElseIfElseIfは、前のIf評価がFalse Ifのみ評価されElseIf

If [Some condition is True] Then
   [Do some thing(s)]
ElseIf [Some other condition is True] Then
   [Do some different thing(s)]
Else    'Everything above has evaluated to False
   [Do some other thing(s)]
End If

必要に応じて、 IfEnd If間に多くのElseIf制御ステートメントを含めることがElseIfElseIfを使用する場合はElse制御文は必要ありませんが(推奨されていますが)、含まれている場合は、 End Ifより前の最後の制御文にする必要があります。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow