VBAのプログラムの制御構文
<< プロシージャの適用範囲(スコープ) :前の記事
前回は、プロシージャの適用範囲(スコープ)について詳しく解説しました。ここまででプログラムの基本はマスターできたかと思います。今回は、プログラムの制御構文について解説します。
目次
- 制御構文について
- 無限ループについて
- If~Then~Elseステートメント
- Select Caseステートメント
- For~Nextステートメント
- For Each~Nextステートメント
- Do~Loopステートメント
- GoToステートメント
制御構文について
実際にプログラムを作成する際に必ず利用するのは制御構文です。制御構文はプログラムの流れを必要に応じて変える時に利用されます。プログラムは上から順に処理をしていきますが、そのままでは単純なプログラムしか作成することができません。
状況に応じて、処理の流れの変更や同じ処理の繰り返しを行うこともあります。そのような場合に利用されるのが、制御構文です。制御構文には、いくつか種類がありますので、1つずつ理解していきましょう。
無限ループについて
制御構文は非常に便利な構文ですが、使い方を誤れば永久に処理を繰り返す無限ループに陥る場合もあります。無限ループに陥った場合は、通常の無限ループであれば、Escキーで中断することができますが、メッセージボックスが表示されるような無限ループでは、この方法では中断することができません。
その場合は、Ctrlキー+Pauseキーで中断することができます。テストをする場合は、それぞれの制御構文を正しく理解した上で、十分気をつけてプログラミングするようにしましょう。
If~Then~Elseステートメント
If~Then~Elseステートメントは「もし~だったら~する」といった簡単な条件分岐を作成する制御構文です。最小条件分岐は「成立した場合」と「成立しなかった場合」の2通りとなります。もちろん、If~Then~Elseステートメントに演算子や複数利用することで複数の分岐を作成することも可能です。
Select Caseステートメント
If~Then~Elseステートメントで複数条件分岐させることもできますが、こちらは条件分岐に条件もありコードが複雑になってしまうこともあります。簡単な複数分岐を行う場合は、Select Caseステートメントを利用します。条件分岐が多くなる場合は、簡単で分かりやすいコードとなっていますので、とても良いです。
For~Nextステートメント
For~Nextステートメントは、一定の条件下において処理を繰り返したいときに利用します。こちらは指定した回数だけ繰り返します。
For Each~Nextステートメント
For Each~Nextステートメントも、一定の条件下において処理を繰り返したいときに利用します。こちらは指定した配列の数だけ繰り返します。
Do~Loopステートメント
Do~Loopステートメントも、一定の条件下において処理を繰り返したいときに利用しますが、こちらは指定した条件が満たされる間、もしくは指定した条件が満たされるまで処理を繰り返します。こちらは指定した配列の数だけ繰り返します。
GoToステートメント
GoToステートメントは処理を強制的に移動させることができます。
次の記事: If~Then~Elseステートメント >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。