0

VB スクリプト コードで 2 つの連続する行の間に 3 時間の遅延を導入したいと考えています。

これには、次のコード スニペットを使用しています。

WScript.Sleep 10800000

しかし、コードは 3 時間以上、長時間停止していると思います。読み取り時間はミリ秒単位であるため、10800000 を使用しました。

私の間違いとこれを達成する正しい方法を教えてください。ありがとう!

4

2 に答える 2

1

重要この解決策が提供されたのは、質問が最初に「 とタグ付けされたためです。

別のオプションを提供します。現時点では、次のようなものがあると思います。

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

于 2013-10-22T12:25:52.720 に答える