【VBScript】(無限)ループ・繰り返し処理[Do-Loop While文]の使い方


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

VBScriptにおける「Do – Loop While」文の使い方を解説します。

はじめに

VBScriptで使用出来る While系の構文ですが、以下のように様々なものがあります。
本記事では、「Do – Loop While」文の使用方法について説明します。

似たようなループ文がありますが、
「Do – Loop While」文の特徴は、以下の2つが挙げられます。

・条件を満たす間ループする
・条件を満たさない場合でも、1度だけループ内の処理が実行される

では、実際に書式やサンプルを見ていきましょう。

書式

Do – Loop While文の書式です。
他のループ文とは違い、ループ内の後に、繰り返し条件を記述します。

Do
	処理
Loop While(条件式)

こちらの Do – Loop While文は、条件式が真(True)なら、ループ処理が続けられます。
条件式が偽(False)となったタイミングで、ループが終了します。
初めから、偽(False)の場合でも、1度だけループ内の処理が実行されます。

サンプル

以下は、ループ回数を表示しつつ、指定した回数分ループするサンプルになります。

Option Explicit

' ループを終了する回数
Const LOOP_END = 5

' ループの回数
Dim loop_count

Do

	loop_count = loop_count + 1
	WScript.Echo("ループ回数:" & loop_count)

Loop While(loop_count < LOOP_END)

サンプルの実行結果になります。

ループ回数:1
ループ回数:2
ループ回数:3
ループ回数:4
ループ回数:5

初めから条件を満たさない場合の例

以下は、初めから条件を満たさない(一度も条件を満たさない)場合のサンプルです。

Option Explicit

' ループを終了する回数
Const LOOP_END = 5

' ループの回数
Dim loop_count

Do

	loop_count = loop_count + 1
	WScript.Echo("ループ回数:" & loop_count)

Loop While(loop_count = LOOP_END)

サンプルの実行結果になります。
Do – Loop While文の特徴である「条件を満たさない場合でも、1度だけ処理が実行される」が正しく動いていることが分かります。

ループ回数:1

ループから抜ける

ここでは、ループから抜ける方法を説明します。

ループを抜けるには、「Exit Do」と記述します。
以下は、ループの3回目で、ループを抜けるサンプルになります。

Option Explicit

' ループを終了する回数
Const LOOP_END = 5

' ループの回数
Dim loop_count

Do

	loop_count = loop_count + 1
	WScript.Echo("ループ回数:" & loop_count)
	If(loop_count = 3)Then
		' ループを抜ける
		Exit Do
	End If

Loop While(loop_count < LOOP_END)

サンプルの実行結果になります。

ループ回数:1
ループ回数:2
ループ回数:3

無限ループ

ここでは、無限ループさせる方法を説明します。

方法は簡単で、条件式を「(True)」と記述するだけです。
しかし、もう1つ重要なポイントがあります。
それは、ループから抜ける処理を記述するということです。
でなければ、永遠にループから抜けれず処理が終わりません。

以下が、サンプルのソースコードになります。
条件式は常に真(True)となり、ループ内で、3周目でループから抜ける処理を実行しています。

Option Explicit

' ループを終了する回数
Const LOOP_END = 5

' ループの回数
Dim loop_count

Do

	loop_count = loop_count + 1
	WScript.Echo("ループ回数:" & loop_count)
	If(loop_count = 3)Then
		' ループを抜ける
		Exit Do
	End If

Loop While(True)

記事は以上になります。
冒頭にも書きましたが、Do – Loop While文は条件に関わらず、必ず1度は処理を実行するという特徴があります。最低1回は処理を実行したい場合などに使用するといいでしょう。

関連記事

コメント

タイトルとURLをコピーしました