IBM Lotus Symphony


For...Next ステートメント [実行時]

For...Next ブロックの間にあるステートメントを、指定回数分だけ繰り返し実行させます。

構文:

For counter=start To end [Step step]

ステートメントブロック

[Exit For]

ステートメントブロック

Next [counter]

変数:

Counter: ループカウンタとして用いる変数で、等号の右側の値 (start) が初期値として割り当てられます。使用可能なものは、数値変数だけです。ループカウンタの値は、Step の指定値に応じて加算または減算が行われ、End の指定値に到達するかがチェックされます。

Start: ループ開始時における初期値を指定する数値変数。

End: ループ終了時における終了値を指定する数値変数。

Step: ループカウンタの加算幅または減算幅を指定する増分値。Step に値を指定しないと、ループカウンタの増分値は 1 とされます。この場合は、Start の指定値よりも大きな値を、End に指定する必要があります。ループカウンタの値を減算させる場合は、Step に負の値を指定して、Start の指定値よりも小さな値を End に指定する必要があります。

For...Next ループでは、パラメータ群で指定する回数分だけ、ステートメントブロックの全コードが繰り返されます。

カウンタ変数値が減ると、終了値に到達したかを Lotus® Symphony™ Basic がチェックします。カウンタ値が終了値に到達すると、ループは終了します。

For...Next ステートメントは、複数のものをネスト (入れ子化) することができます。Next ステートメントに続けて変数名を指定しない場合、各 Next は一番近くに存在する For ステートメントに対応づけられます。

増分値を 0 とすると、For から Next までの間にあるステートメントブロックが永続的に繰り返し実行され続けます。

カウンタ変数値の増減に対しては、オーバーフローまたはアンダーフローの発生を Lotus Symphony Basic がチェックします。カウンタ変数の値が End の指定値を超過するか (Step に正の値を指定した場合)、End の指定値を下回った (Step に負の値を指定した場合) 段階で、ループは終了します。

Exit For ステートメントを指定すると、ループは無条件に終了させられます。このステートメントは、For...Next ループの内部に記述する必要があります。この場合も、下記の例のように If...Then ステートメントを使って、終了条件を満たしているかの判定が行えます。

For...

ステートメント群

If 終了条件 = True Then Exit For

ステートメント群

次へ

注意: 複数の For...Next ループをネストしている場合、1 つの Exit For ステートメントで無条件に終了できるループは 1 つだけです。

下記の例では、初期設定として各種の名前を代入した要素数 10 の配列 ( sEntry( )) を用意しておき、二重にネストしたループを使って要素の並べ替えを行っています。

Sub ExampleSort

Dim sEntry(9) As String

Dim iCount As Integer

Dim iCount2 As Integer

Dim sTemp As String

sEntry(0) = "Jerry"

sEntry(1) = "Patty"

sEntry(2) = "Kurt"

sEntry(3) = "Thomas"

sEntry(4) = "Michael"

sEntry(5) = "David"

sEntry(6) = "Cathy"

sEntry(7) = "Susie"

sEntry(8) = "Edward"

sEntry(9) = "Christine"

For iCount = 0 To 9

For iCount2 = iCount + 1 To 9

If sEntry(iCount) > sEntry(iCount2) Then

sTemp = sEntry(iCount)

sEntry(iCount) = sEntry(iCount2)

sEntry(iCount2) = sTemp

End If

Next iCount2

Next iCount

For iCount = 0 To 9

Print sEntry(iCount)

Next iCount

End Sub


製品フィードバック | その他の資料 | 商標