VBScriptでプログラミングの基礎を学ぼう5【ループ処理】

VBScript入門
スポンサーリンク

変数についてさらに学ぼう

前回は変数を学びましたね。

前回の記事では最終的に変数を使うことで手間が増えているという内容になりましたが、この変数のもっと効率的な使い方について説明していきます。

と、その前に・・・

変数を上手く使うには、併せて「制御構文」を学んでおくことが良いと思います。

制御構文ってなんだろう?

通常のプログラムは、記述されている命令文を上から下へ1行ずつ順番に実行していきます。

ただ、上記の「制御構文」を使うと、条件によって特定の処理を飛ばして実行したり、条件に適合するまで同じ処理を繰り返したりすることが出来るようになります。

この制御構文はプログラミングをするうえでの非常に重要なテクニックです。

今回は制御構文のなかで、ループ処理に触れてみたいと思います。

まずはサンプルプログラムです。

Dim Message
Dim i

Message = "はじめまして"

For i = 1 To 5
msgbox Message
Next

今回のサンプルプログラムも張り付けて実行してみてください。
メッセージボックスが5回繰り返して表示されましたか?

では内容と説明していきましょう。

解説

1行名と3行目は前回と同様なので説明を割愛します。

2行目

Dim i

こちらは「i」という名称の変数を宣言しています。

これはまた後述しますが「カウンター変数」として使用します。

数字をカウントアップしていく用途ですが、この「i」という名称に深い意味はありません。

べつに「Count」とか「kaisu」とか何でも良いです。

ただ、プログラムの書き方のセオリーみたいものはいくつかあって、このカウンター変数では「i」がよく使われます。

この「i」は「インデックス」の頭文字からきているみたいです。

4行目~6行目

For i = 1 To 5
msgbox Message
Next

ここからがループ処理が実行されています。

まず4行目の「For」ですが、これは「For文」と言われるループ処理の命令文です。

このFor文の構文は以下です。

For [カウンター変数] = [初期値] To [ループ処理の最大値]

この構文を解説します。

まずカウンター変数の i に対して、数字の1を代入しています。

これはこのカウンターは数字の1から数えますよっという意味です。

初期値は必ず1である必要はなくて0をセットしても、100をセットしても何でも良いです。

ただ、カウントアップしていくので、数字である必要があります。

その後ろでは、To [ループ処理の最大値]となっています。

これは、変数 i の値が5になるまで繰り返してねっという意味合いです。

なのでこの一行を日本語的に訳すと「変数の初期値を1としてその値が5になるまで下の命令を繰り返してね」という命令内容になります。

5行目ではメッセージボックスを表示する命令文が記述されております。

6行目では、Next と一文だけ記述されています。

これは4行目のFor文で定義した繰り返し処理はここまでなので、また4行目の処理に戻れという命令文です。

尚、この Next を通った際に、4行目で初期値をセットした変数 i の値は自動的に数字の1が加算され、また5行目の処理を実行し、6行目で変数 i に 1 を加算し、4行目に戻り・・・という感じで繰り返され、変数 i の値が5 なったら繰り返し実行することをやめます。

これがいくつかあるループ処理のなかでも最も簡単な繰り返し処理の命令文の「For文」です。

For文は予め繰り返し処理をする回数が決まっているような時に使われます。

例えばExcelで1行目から最終行まで一行ずつ特定の処理を実行していくといったプログラムなどでも活用出来ると思います。

尚、もし今回のメッセージボックスを5回表示する処理を繰り返し処理を使わずに記述するとどうなでしょう?

Dim Message

Message = "はじめまして"

msgbox Message
msgbox Message
msgbox Message
msgbox Message
msgbox Message

どうでしょうか。
同じ命令文を繰り返し記述しており、なんだかきれいではありませんね。

今回は5回だけの繰り返し処理なのでループ処理を使わなくてもそれほど苦ではありませんが、この繰り返し処理が100回ならどうでしょう?10000回なら?

もし10000回のループ処理が必要になっても、For文で記述されていれば、For文のサンプロプログラムの4行目の[ループ処理の最大値]を5から10000に書き換えるだけで済みます。

また、変数をカウントアップする値の入れ物として使用することで、ただメッセージの文字列を入れるだけではない、効率的な使い方も理解できたかと思います。

今回はプログラミングをするうえで大変重要なループ処理を学びました。

次は分岐処理について学んでいこうと思います。

では次回もよろしくお願いします。

↓次回の記事はこちら

VBScriptでプログラミングの基礎を学ぼう6【条件分岐】
条件分岐について学ぼう 今回は条件分岐について学習していきます。 前回もお話をしましたが、プログラムは上から下に...

↓前回の記事はこちら

VBScriptでプログラミングの基礎を学ぼう4【変数】
変数について学ぼう 前回の記事では、msgbox関数を使用してメッセージをパソコン上に表示させました。 今回の記...

↓Windows10環境で文字化けする場合はこちら

Windows10環境で文字化けする場合は
Windows10のメモ帳の既定の文字コードは、Windows10のバージョン1903から「UTF-8」になりました。
VBScriptはUTF-8に対応していない為、アルファベットは問題ないのですが、日本語については文字化けします。
その為、Windows10の場合はファイルを保存する場合に、文字コードを「ANSI」に変更して保存してください。

 

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