VB スクリプト コードで 2 つの連続する行の間に 3 時間の遅延を導入したいと考えています。
これには、次のコード スニペットを使用しています。
WScript.Sleep 10800000
しかし、コードは 3 時間以上、長時間停止していると思います。読み取り時間はミリ秒単位であるため、10800000 を使用しました。
私の間違いとこれを達成する正しい方法を教えてください。ありがとう!
重要この解決策が提供されたのは、質問が最初に「 excel-vba」とタグ付けされたためです。
別のオプションを提供します。現時点では、次のようなものがあると思います。
Sub MyCurrentSub()
Dim A
A = 10
'wait 3 hour here and...
'...after 3 hours do other part of the sub
MsbBox A
End Sub
待機中は、別の待機オプション ( などDo...Loop
) を使用しても、Excel アプリケーションは制限され、少なくとも部分的に通常どおりに動作しません。
適切なタイミングで別の Sub を作成して呼び出すことにより、このようにします。
Public A
Sub MyNewSub_1()
A = 10
Appication.OnTime Now + TimeValue("03:00:00"), "MyNewSub_2"
End Sub
'now you can use your Excel as usually...
Sub MyNewSub_2()
MsgBox A
End Sub
同じ結果が得られます。Excell は、待機時間中に 3 時間無料で使用できます。覚えておく必要があるのは、アプリケーションを終了しないことだけです。Excel を終了すると、呼び出しを「忘れて」しまいますMyNewSub_2
。