プロが教えるわが家の防犯対策術!

お世話になります。



for a = 1 to 10000

~~処理~~

now = Timy
While Timy < now + 2
DoEvents
Wend

loop


~~

とコーディングしてるのですが
途中でプログラムを終わらしても
コンピューターの方でプログラムが続いてるみたいなのですが終わらすにはどうすればよいでしょうか?

A 回答 (5件)

#3です。


コマンドボタンを1つつくって
Dim a As Single

Private Sub Command1_Click()

For a = 1 To 1000000

If Command1 = True Then Exit For

Next a

Command1.Caption = "終了"
Unload Me

End Sub
もう少したりないかな。
    • good
    • 0
この回答へのお礼

わざわざありがとうございます。
いろいろお世話になりました。

お礼日時:2005/06/16 22:24

>エクスプローラーの右上のバツボタンを押すと


>for loopが終わるようにしたいんです。
多分、忙しくてなかなか終われないだけだと思います。
>バツボタンが押された
とかは、普通イベントで取得するのだと思いますが、
プログラム自体が、忙しすぎるとそれができません。
×ボタンが押された時、は終了手続きが自動で行われる(はず)なので、特別になにかをする(その上で何かの終了手続きをするのでなく単に終了するのが目的なら)必要はありません。
DoEventsもあることだし、その内終了してくれると思います。
    • good
    • 0
この回答へのお礼

あぁ、そうなんですか。
以前、単に×ボタンをおしただけだと
for loopが終わらないとおしえてもらったのですが・・・
どうやら勘違いだったようですね。
ありがとうございます。

お礼日時:2005/06/16 22:22

1.for nextのとき Exit For


2.Do Loop のとき Exit Do

たとえば
For a=1 to 10000
if a=1000 then Exit For
Next a
これで a=1000のときループを終了します。

この回答への補足

ありがとうございます。
エクスプローラーの右上のバツボタンを押すと
for loopが終わるようにしたいんです。

For a=1 to 10000
if バツボタンが押された then Exit For
Next a

みたいな感じにしたいんですけど
バツボタンを押されたってどう書けばいいんでしょう?

補足日時:2005/06/16 14:39
    • good
    • 0

#1です。



うぬ?
Breakは、キーの事です。Ctrlキー+Pauseキーの事を言ったのですが。うまく伝わらなかった様で。
デバッグ途中で、このCtrlキー+Pauseキーを押すと、強制終了するので。

そして、本題。
と、いう事は、先のロジックは、For~Nextになってるのですね。
で、このロジックから抜けたいのですか?それなら、
Exit For
を、ループするロジック内に、条件文などと一緒に書いてあげれば、Forループを脱出しますよね。

それとも、While文の所だけ抜け出れば良いのかしら。
それでしたら、While~Wendを、Do While~Loopに書き換えて、条件文でExit Doすれば、抜けますよね。

そういう事でなく?

この回答への補足

あぁ、なるほど!
キーだったんですね。
気づきませんでした・・汗汗

補足日時:2005/06/16 14:41
    • good
    • 0

1. For文に対応する、Nextステートメントはどこにありますか?


2. Loopステートメントに対応する、Do文はどこにありますか?

何か、根本的に間違ってるような。


因みに、プログラムの繰り返しを強制終了するには、Break(Ctrl+Pause)で止まります。

この回答への補足

loop じゃなくて Nextでした。
Private Sub Command2_Click()

Break (Ctrl + Pause)

End Sub

とくみこんでみたのですが
subまたはfunctionが定義されていませんとでて
エラーがでてしまうのですが
どうくみこめばよろしいでしょうか。

補足日時:2005/06/16 08:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!