- 締切済み
VBAでの一時停止と再開の方法
実行中のエクセルVBAを好きなところで止めて、そこから再度開始する方法はありませんか。 ポーズボタンのようなものを作りたいのですが、上手くできません。 どなたかご教授願えませんか。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yama1718
- ベストアンサー率41% (670/1618)
実行そのものを一時停止にはできないけど、代用になる方法を提案します。 1.グローバル変数でフラグを用意。 2.モーダレスフォームでダイアログを表示させて、そのダイアログに停止や再開ボタンなどを配置。 3.ダイアログのボタンのクリックでフラグがON/OFFするようにコードを記述 4.メイン処理ではループ内や要所で、このフラグをチェックし、一時停止ならループさせてフラグが再開になるまで待機させる。 5.待機のループ内には他のタスクに処理が回るようにDoEventsを実行すれば良いでしょう。 フラグのチェックと待機ループを組み込んだ部分でしか一時停止できないけど、 これでかなり代用になるのではと思いますが。
- yama1718
- ベストアンサー率41% (670/1618)
普通はmsgboxでメッセージを表示させて「OK」を押すまで待たせる方法を使いますね。
お礼
ありがとうございます。 固定のポイントでの停止と言うことですので、希望の随時止める機能とは少し異なってしまいます。 回答感謝します。
- nda23
- ベストアンサー率54% (777/1415)
Ctrl + Pause で一時停止します。F5で再開です。但し、画面は VBAのソース画面になります。ここはプログラマ用の画面なので、 任意のフォーム等で制御できるところではありません。
お礼
ありがとうございます。 そうですね。これしかないですかね。
- hana-hana3
- ベストアンサー率31% (4940/15541)
>ポーズボタンのようなものを作りたいのですが、上手くできません。 そのような機能はありませし、どうやっても作る事は出来ません。 中断させたい箇所があれば、コードの任意の所にブレークポイントを設定するとか Stop と書いて下さい。
お礼
ありがとうございました。助かりました。
お礼
ありがとうございます。随時できないと困るので、むずかしいかもしれません。