制御 指定時間経過後又は定刻にプロシージャを実行する

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][制御 指定時間経過後又は定刻にプロシージャを実行する]
Option Explicit

'===============================================
'指定時間経過後又は定刻にプロシージャを実行する
'===============================================

Dim PublicSetTime As Date


Sub OnTimeSample1()
'***********************************************
'現在から〜秒後にプロシージャを実行する
'***********************************************

Dim SetTime As Date
SetTime = "00:00:05"
Application.OnTime Now + TimeValue(SetTime), "OnTimeTestSub"

End Sub


Sub OnTimeSample2()
'***********************************************
'〜時にプロシージャを実行する
'***********************************************

Dim SetTime As Date
SetTime = "09:30:00"
PublicSetTime = SetTime 'OnTimeSample3用
Application.OnTime TimeValue(SetTime), "OnTimeTestSub"

End Sub


Sub OnTimeSample3()
'***********************************************
'OnTimeメソッドの設定を取り消す
'***********************************************
'OnTimeSample2を取り消す
Application.OnTime EarliestTime:=TimeValue(PublicSetTime), _
    Procedure:="OnTimeTestSub", Schedule:=False '※@

End Sub


Sub OnTimeTestSub()
    MsgBox "実行しました!"
End Sub

'OnTime メソッドの使用例(ヘルプ抜粋)
'---------------------------------------------------------------------------------

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

'構文
'---------------------------------------------------------------------------------
'オブ.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
'
'オブ           省略不 対象オブジェクト式指定
'EarliestTime   省略不 実行時刻指定
'Procedure      省略不 実行プロシージャ名指定
'LatestTime     省略可 プロシージャを実行できる最終時刻を指定
'Schedule       省略可 新しいOnTimeプロシージャを設定
'---------------------------------------------------------------------------------
'補足 LatestTime
'EarliestTimeで設定した値 + 30 を設定します。
'EarliestTimeに指定した時刻には他のプロシージャを実行しているため、
'Excelが待機/コピー/切り取り/検索のいずれのモードでもないとします。
'その場合Excelは実行中のプロシージャが終了するまで30秒間待ちます。
'30秒以内にExcelが待機 モードにならないとき指定したプロシージャは実行されません。
'この引数を省略すると、Excel はプロシージャが実行できるまで待ちます。
'---------------------------------------------------------------------------------
'補足 Schedule ※@
'新しいOnTimeプロシージャを設定するには、True を指定
'直前のプロシージャの設定を解除するには、False を指定





Production Japan Import Application. Since 1998