Application.OnTime メソッド (Excel)

指定された時刻 (特定の日時、または特定の期間の経過後) にプロシージャを実行します。

構文

OnTime (EarliestTimeProcedureLatestTimeSchedule)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
EarliestTime 必須 バリアント型 (Variant) プロシージャを実行する時刻を指定します。
Procedure 必須 文字列型 (String) 実行するプロシージャ名を指定します。
LatestTime 省略可能 バリアント型 (Variant) プロシージャの実行が可能になる最も遅い時刻。 たとえば、 LatestTimeEarliestTime + 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 のサポートおよびフィードバックを参照してください。