Application.OnTime メソッド (Excel)Application.OnTime method (Excel)

指定された時刻 (特定の日時、または特定の期間の経過後) にプロシージャを実行します。Schedules a procedure to be run at a specified time in the future (either at a specific time of day or after a specific amount of time has passed).


OnTime(EarliestTimeProcedureLatestTimeSchedule)expression.OnTime (EarliestTime, Procedure, LatestTime, Schedule)

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
EarliestTimeEarliestTime 必須Required バリアント型Variant プロシージャを実行する時刻を指定します。The time when you want this procedure to be run.
ProcedureProcedure 必須Required StringString 実行するプロシージャ名を指定します。The name of the procedure to be run.
LatestTimeLatestTime 省略可能Optional VariantVariant プロシージャの実行が可能になる最も遅い時刻。The latest time at which the procedure can be run. たとえば、 LatestTime_が_EarliestTime + 30 に設定されていて、Microsoft Excel が_EarliestTime_で準備完了、コピー、切り取り、または検索モードになっていない場合、excel は最初のプロシージャが完了するまで30秒待機します。For example, if LatestTime is set to EarliestTime + 30 and Microsoft Excel is not in Ready, Copy, Cut, or Find mode at EarliestTime because another procedure is running, Excel will wait 30 seconds for the first procedure to complete. Excel が30秒以内に準備モードではない場合、このプロシージャは実行されません。If Excel is not in Ready mode within 30 seconds, the procedure won't be run. この引数を省略すると、Excel はプロシージャが実行可能になるまで待機します。If this argument is omitted, Excel will wait until the procedure can be run.
ScheduleSchedule 省略可能Optional VariantVariant 新しい OnTime プロシージャをスケジュールする場合は TrueTrue to schedule a new OnTime procedure. 以前に設定したプロシージャを解除する場合は FalseFalse to clear a previously set procedure. 既定値は True です。The default value is True.


指定Now + TimeValue(time)した時間 (now から数える) が経過したときに実行されることをスケジュールするために使用します。Use Now + TimeValue(time) to schedule something to be run when a specific amount of time (counting from now) has elapsed. 指定した時刻に処理が実行されるようにスケジュールする場合は、TimeValue(time) を使用します。Use TimeValue(time) to schedule something to be run a specific time.

_EarliestTime_の値は、最も近い秒数に丸められます。The value of EarliestTime is rounded to the closest second.

_Schedule_をFalseに設定して、同じ_procedure_と_EarliestTime_値で以前に設定したプロシージャをクリアします。Set Schedule to False to clear a procedure previously set with the same Procedure and EarliestTime values.

Procedure が引数を取ることはなく、カスタムのクラスやフォームで宣言することはできません。Procedure must take no arguments and cannot be declared in a custom class or form.


この例では、現在から15秒後に__プロシージャ_を実行します。This example runs my_Procedure 15 seconds from now.

Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

この例では、午後5時に_自分_のプロシージャ_を実行します。This example runs my_Procedure at 5 P.M.

Application.OnTime TimeValue("17:00:00"), "my_Procedure"

次の使用例は、前の使用例で設定した OnTime メソッドの設定を取り消します。This example cancels the OnTime setting from the previous example.

Application.OnTime EarliestTime:=TimeValue("17:00:00"), _ 
 Procedure:="my_Procedure", Schedule:=False

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.