Application.OnTime メソッド (Excel)
指定された時刻 (特定の日時、または特定の期間の経過後) にプロシージャを実行します。
構文
式。OnTime (EarliestTime、 Procedure、 LatestTime、 Schedule)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
EarliestTime | 必須 | バリアント型 (Variant) | プロシージャを実行する時刻を指定します。 |
Procedure | 必須 | 文字列型 (String) | 実行するプロシージャ名を指定します。 |
LatestTime | 省略可能 | バリアント型 (Variant) | プロシージャの実行が可能になる最も遅い時刻。 たとえば、 LatestTime が EarliestTime + 30 に設定されていて、別のプロシージャが実行されているために、Microsoft Excel が Ready 、Copy、Cut、または Find モードに含まれていない場合、Excel は最初のプロシージャが完了するまで 30 秒待ちます。 Excel が 30 秒以内に準備モードになっていない場合、プロシージャは実行されません。 この引数を省略すると、Excel はプロシージャを実行できるようになるまで待機します。 |
Schedule | 省略可能 | バリアント型 (Variant) | 新しい OnTime プロシージャをスケジュールする場合は True。 以前に設定したプロシージャを解除する場合は False。 既定値は True です。 |
注釈
を使用して Now + TimeValue(time)
、特定の時間 (現在からカウント) が経過したときに実行される何かをスケジュールします。 指定した時刻に処理が実行されるようにスケジュールする場合は、TimeValue(time)
を使用します。
EarliestTime の値は、最も近い秒に丸められます。
[スケジュール] を [False] に設定すると、以前に同じプロシージャと EarliestTime 値で設定されたプロシージャがクリアされます。
Procedure が引数を取ることはなく、カスタムのクラスやフォームで宣言することはできません。
例
この例では、15 秒 後my_Procedure 実行されます。
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
この例では 、午後 5 時にmy_Procedure を実行します。
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
次の使用例は、前の使用例で設定した OnTime メソッドの設定を取り消します。
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。