VBA Fox編
【3】タイマー処理
タイマー機能にはスケジュールを数十秒毎にチェックする必要があります。これにはApplication.Waitやsleepを
使う方法があるがフォームのイベントを受け付け難くなり操作感が悪くなるのでApplication.OnTimeを使用
しました。その際に標準モジュールでないとCallできなのでSub TM再帰()を作って
そこからprivate subはCallできなのでTG_タイマー_ClickをpublicにしてからCallしています。
以下をユーザーフォーム(UF_入力)に記述
Sub TG_タイマー_Click()
If TG_タイマー.Value <> True Then
TG_タイマー.Caption = "タイマー"
Exit Sub ' 標準モジュールしか呼べないので一工夫
Else
TG_タイマー.Caption = "タイマー作動中"
End If
Call 予定チェック '予定に達したものが無いかチェックする
Application.OnTime Now + TimeValue("00:00:30"), "TM再帰" '30秒毎にTG_タイマー_ClickをCALL
End Sub
以下を標準モジュールに記述
Sub TM再帰()
UF_入力.TG_タイマー_Click
End Sub