<< 前へ        次へ >>

ID : 126

Do...Loop

機能

指定した条件が真(True)である間、または条件が真(True)になるまで、一連のステートメントを繰返し実行します。

構文

Do [{While | Until} 条件]
	'Statements
Loop

または

Do
	'Statements
Loop [{While | Until} 条件]

指定項目

While | Until
"While"は指定した条件が真(True)である間、一連のステートメントを繰返し実行します。"Until"は指定した条件が真(True)になるまで、一連のステートメントを繰返し実行します。
条件
条件式で指定します。

解説

条件がTrue(真)になるまで,またはTrue(真)の間、[statements]を繰返し実行します。

"While"は指定した条件がTrue(真)である間は処理を繰返し、False(偽)になるとLoop以降の行に移行します。

"Until"は指定した条件がFalse(偽)である間は処理を繰返し、True(真)になるとLoop以降の行に移行します。

{While | Until} 条件を省略すると無限ループになります。

Doに条件を指定すると前条件、Loopに条件を指定すると後条件です。

[statements]内に"Exit Do"を実行するとDo Loop処理を抜けます。

処理時間の短いコマンドを繰返し処理する場合は、CPUを占領してしまうためマルチタスクで動作している他のタスクが処理されにくくなります。これを無くすためには繰返し処理の間にDelayまたはWaitコマンドを入れてください。Delay、Waitコマンドが実行されている間にCPUの占有から解放され、他のタスクが処理されやすくなります。

関連項目

ExitFor...Next

 

注意事項

-

用例

'!TITLE "判定反復(繰返し)の実行"
' aaaが10より大きくなるまで処理を繰返し実行
Sub Sample_DoLoop

  Dim aaa As Integer
  Dim bbb As Integer

  aaa = 1
  bbb = 0

  ' 1から10までの加算処理
  Do

    bbb = bbb + aaa
    aaa = aaa + 1

  ' aaaが10より大きくなるまでループ
  Loop Until aaa > 10

  ' メッセージ出力ウィンドウに"55"を表示
  PrintDbg bbb

End Sub

ID : 126

<< 前へ        次へ >>