Board logo

標題: [發問] 如何在背景偵測時間? [打印本頁]

作者: EGBT    時間: 2015-11-1 12:05     標題: 如何在背景偵測時間?

假設我要在每天的下午4點~下午5點才會執行一次

If TimeValue(Now) > TimeValue("16:00:00") And TimeValue(Now) < TimeValue("17:00:00") Then

但有兩個問題,

第一:要如何不自己去執行,時間到他就會執行? (Excel都是開啟的狀態)

第二:假設下午4點一到,他就會一直執行直到5點,要如何只做一次?(Excel都是開啟的狀態)

麻煩各位大大指教
作者: n7822123    時間: 2015-11-1 13:49

本帖最後由 n7822123 於 2015-11-1 13:52 編輯

回復 1# EGBT


    先執行一次 T1 程序就行了:D
  1. Sub T1()
  2. Dim 工作時間 As Date
  3. Dim 重啟時間 As Date
  4. 工作時間 = Date + TimeSerial(16, 0, 0)
  5. 重啟時間 = Date + 1 + TimeSerial(0, 0, 1)
  6. Application.OnTime 工作時間, "工作"       '時間到今天16點,觸發工作程序
  7. Application.OnTime 重啟時間, "T1"         '明天凌晨1分 自動觸發此程序
  8. End Sub

  9. Sub 工作()
  10. If TimeValue(Now) < TimeValue("16:00:00")  then exit sub
  11. If TimeValue(Now) > TimeValue("17:00:00")  then exit sub
  12. MsgBox "開始工作"
  13. End Sub
複製代碼

作者: n7822123    時間: 2015-11-1 13:59

回復 2# n7822123


    補充:

再工作程序最後一行加入 Call 工作,就可以無腦執行到下午5點才停止。
作者: EGBT    時間: 2015-11-2 10:45

回復 3# n7822123


    大大您好:

我執行一次之後,我調整電腦時間就不會再重新執行了...為什麼會這樣?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)