2017-11-15 15 views
0

新しいデータに基づいてスプレッドシートを長時間遅く再計算するようなSQLクエリを実行するマクロがあります。終了したら、特定の条件が満たされた場合に私に警告するためにapplication.speechを使用しました。すべてこれはうまく動作します。しかし、Windowsがロックされている間にExcelマクロを一時停止する

私が言ったように、再計算にはかなりの時間がかかることがあるので、私は時々Windowsをロックして、待っている間に何か他のことをする。誰かがマクロを一時停止する方法を知っているので、Windowsのロックが解除されるまで、最後の数行(つまり音声アラート)は実行されません。

+6

Googleはのための素晴らしいツール...検索で見つけることができます ://www.mrexcel.com/forum/microsoft-access/646623-check-if-system-locked-unlocked-using-vba.html –

+0

ある日私はそのようなものを見つけた:http://www.cpearson.com /excel/ShellAndWait.aspx – MarcinSzaleniec

+0

ありがとうございます。新しい空のワークシートでそれを実行しても問題ありません。私の既存のシートに追加: "コンパイルエラー:変数は定義されていません" "システム"。なぜ違い? – Turkeyplucker

答えて

0

Application.speechを呼び出す前に、システムがロックされているかどうかを確認し、ロックされている場合はロックが解除されるまで毎分チェックを繰り返します。ウィンドウがロックされている場合は、VBAチェックとあなたが得る: httpsのシステムがロックされている場合は、コードCheck_If_Lockedため

Sub SystemLocked() 

    Do While Check_If_Locked = "Locked" 
     Application.Wait TimeValue("00:00:01") 
    Loop 

    MsgBox "Done" 

End Sub 

コードはここに https://www.mrexcel.com/forum/microsoft-access/646623-check-if-system-locked-unlocked-using-vba.html

関連する問題