• 締切済み

VBAでの一時停止と再開の方法

実行中のエクセルVBAを好きなところで止めて、そこから再度開始する方法はありませんか。 ポーズボタンのようなものを作りたいのですが、上手くできません。 どなたかご教授願えませんか。宜しくお願いします。

みんなの回答

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.4

実行そのものを一時停止にはできないけど、代用になる方法を提案します。 1.グローバル変数でフラグを用意。 2.モーダレスフォームでダイアログを表示させて、そのダイアログに停止や再開ボタンなどを配置。 3.ダイアログのボタンのクリックでフラグがON/OFFするようにコードを記述 4.メイン処理ではループ内や要所で、このフラグをチェックし、一時停止ならループさせてフラグが再開になるまで待機させる。 5.待機のループ内には他のタスクに処理が回るようにDoEventsを実行すれば良いでしょう。 フラグのチェックと待機ループを組み込んだ部分でしか一時停止できないけど、 これでかなり代用になるのではと思いますが。

univ1398
質問者

お礼

ありがとうございます。随時できないと困るので、むずかしいかもしれません。

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.3

普通はmsgboxでメッセージを表示させて「OK」を押すまで待たせる方法を使いますね。

参考URL:
http://conex.fujigoma.com/?target=http://conex.fujigoma.com/dosv/dosv_soft_vb_tips2.htm
univ1398
質問者

お礼

ありがとうございます。 固定のポイントでの停止と言うことですので、希望の随時止める機能とは少し異なってしまいます。 回答感謝します。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

Ctrl + Pause で一時停止します。F5で再開です。但し、画面は VBAのソース画面になります。ここはプログラマ用の画面なので、 任意のフォーム等で制御できるところではありません。

univ1398
質問者

お礼

ありがとうございます。 そうですね。これしかないですかね。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>ポーズボタンのようなものを作りたいのですが、上手くできません。 そのような機能はありませし、どうやっても作る事は出来ません。 中断させたい箇所があれば、コードの任意の所にブレークポイントを設定するとか Stop と書いて下さい。

univ1398
質問者

お礼

ありがとうございました。助かりました。

関連するQ&A