hatena
hatena
2024/08/25 (日) 12:28:57
PCがスリープに入ってしまうとCPUへの給電も止まるので、プログラムは止まってしまいます。
ですので、スリープに入る直前に発生するイベントがあればいいのですが、VBAにはないですね。APIならあるかも知れませんが、ちょっと検索してみた限りでは情報は見つかりませんでした。
Accessデータベースを立ち上げた放置するということはままあることなので、私は下記のような対策をしています。
各フォームのキーボードイベント、マウス移動イベントで、ユーザー操作を検知したら、その時刻をグロバール変数に格納する。
常に表示させてあるフォームのタイマーイベントで定期的にグロバール変数の時刻と現在時刻の時間差を求めて、その時間が設定した時間より長ければファイルを強制終了する。
強制終了する時間をスリープ待機時間より短く設定しておけば、スリープへ入る前に終了させることができます。
通報 ...