指定された時刻 (特定の日時、または特定の期間の経過後) にプロシージャを実行します。
構文
式。OnTime (EarliestTime、 Procedure、 LatestTime、 Schedule)
expressionApplication オブジェクトを 表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| EarliestTime | 必須 | バリアント型 (Variant) | プロシージャを実行する時刻を指定します。 |
| Procedure | 必須 | 文字列型 (String) | 実行するプロシージャ名を指定します。 |
| LatestTime | 省略可能 | バリアント型 (Variant) | プロシージャの実行が可能になる最も遅い時刻。 たとえば、 LatestTime が EarliestTime + 30 に設定されており、別のプロシージャが実行されているために Microsoft Excel が EarliestTime で準備完了、コピー、切り取り、または検索モードになっていない場合、Excel は最初のプロシージャが完了するまで 30 秒待ちます。 Excel が 30 秒以内に準備完了モードでない場合、プロシージャは実行されません。 この引数を省略した場合、Excel はプロシージャを実行できるようになるまで待機します。 |
| Schedule | 省略可能 | バリアント型 (Variant) | 新しい OnTime プロシージャをスケジュールする場合は True。 以前に設定したプロシージャを解除する場合は False。 既定値は True です。 |
注釈
Now + TimeValue(time) を使用して、特定の時間 (現在からカウント) が経過したときに実行するようにスケジュールします。 指定した時刻に処理が実行されるようにスケジュールする場合は、TimeValue(time) を使用します。
EarliestTime の値は、最も近い 2 つ目に丸められます。
schedule をfalse に設定すると、以前に同じ Procedure 値と 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 のサポートおよびフィードバックを参照してください。