- ベストアンサー
『Do ~ Until (0)』の『Until (0)』
他の人が書いたプログラムを読んでいるのですが、 そのなかで、 Do DoEvents 処理 Loop Until (0) というDo文がありました。 この(0)というのはどのような意味なのでしょうか? どのような状態になるまでLoopし続けるのでしょうか? よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Untilの後には、ブール型 (Boolean)つまり、True又はFalseに評価できる式を書かなければいけません。 で、Boolean型でなければならないところに、数値を指定した場合、 VBは、その数値をBoolean型に変換しようとします。 その際、「0」は「False」に、「0以外」は「True」に変換されます。 つまり、 --------------------- Do DoEvents 処理 Loop Until (0) --------------------- は、 --------------------- Do DoEvents 処理 Loop Until False --------------------- と、同じ意味で、「絶対にTrueにならない」=「所謂無限ループ」になります。 #多分「処理」のどこかに、Loopを終了する判定が行われているのではないでしょうか?
お礼
さっそくのご回答ありがとうございます! 処理の中にいくつか条件式があるのですが、 dsuekichiさんの仰る通り、いずれの条件式も最後は 『Exit Function』又は『Exit Do』となっています。 条件式のどれかに当てはまるまでLoopし続けるという意味なのですね。 おかげさまでスッキリしました。 ありがとうございました。