VBAのOnTimeメソッド
こちらでは、エクセルVBAのOnTimeメソッドの解説になります。
メソッドとは、オブジェクトを操作する命令文のことでオブジェクトの動作になります。 メソッドを利用するにはオブジェクト名とメソッド名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.メソッド名
目次
OnTimeメソッド
OnTimeメソッドは、指定された時刻 (特定の日時、または特定の期間の経過後) にプロシージャを実行します。
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
expression 必ず指定します。Application オブジェクトを返すオブジェクト式を指定します。
EarliestTime 必ず指定します。バリアント型 (Variant) の値を使用します。プロシージャを実行する時刻を指定します。
Procedure 必ず指定します。文字列型 (String) の値を使用します。実行するプロシージャ名を指定します。
LatestTime 省略可能です。バリアント型 (Variant) の値を使用します。プロシージャを実行できる最終時刻を指定します。たとえば、引数 LatestTime に、引数 EarliestTime で設定した値 + 30 を設定します。引数 EarliestTime に指定した時刻にはほかのプロシージャを実行しているため、Excel が待機、コピー、切り取り、検索のいずれのモードでもないとします。その場合、Excel は実行中のプロシージャが終了するまで 30 秒間待ちます。30 秒以内に Excel が待機モードにならないとき、指定したプロシージャは実行されません。この引数を省略すると、Excel はプロシージャが実行できるまで待ちます。
Schedule 省略可能です。バリアント型 (Variant) の値を使用します。新しい OnTime プロシージャを設定するには、True を指定します。直前のプロシージャの設定を解除するには、False を指定します。既定値は True です。
現在の時刻から指定した特定の時間が過ぎてから、処理を実行させるときは、Now + TimeValue(time) を使います。指定した特定の時刻に処理を実行させるときは、TimeValue(time) を使います。
次の使用例は、現在から 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
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。