TimeValue(Now) = TimeValue 無法發事件??
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
本帖最後由 stillfish00 於 2013-6-29 09:24 編輯
回復 3# t8899
1#寫法的意思是當工作表的公式有重新計算時,才會去執行Worksheet_Calculate裡面的程式
他不是時時刻刻都檢查是否等於 TimeValue("18:25:00 "),檢查時的當下時間可能已經過了好幾秒,當然不會成立。
3#一開檔還是沒辦法觸發,要執行Start_Timer(),才會觸發
這個你可以在一般模組內定義- Sub auto_open()
- Start_Timer
- End Sub
複製代碼 或ThisWorkbook內- Private Sub Workbook_Open()
- Start_Timer
- End Sub
複製代碼 都能讓開檔時自動執行Start_Timer
我是要在固定的時間去做某事,所以"目前時間加1分鐘" ,不適合我用
這才是你想解答的問題
如果是要開啟工作表後,希望某個時刻到達時就去做某件事
其實答案就在前面,你去查看Application.OnTime說明的話..- Application.OnTime 方法
- 安排一個程序在將來的特定時間執行 (既可為某個日期的指定時間,也可為指定的時間之後)。
- 語法
- 運算式.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
- 運算式 代表 Application 物件的變數。
- 參數
- 名稱 必要/選用 資料類型 描述
- EarliestTime 必要 Variant 想要執行程序的時間。
- Procedure 必要 String 要執行的程序名稱。
- LatestTime 選用 Variant 可以開始執行程序的最晚時間。例如,假設 LatestTime 設為 EarliestTime + 30,當時間到了 EarliestTime 時,如果由於其他程序正在執行中而使 Microsoft Excel 不處於 [就緒]、[複製]、[剪下] 或[尋找] 模式,則 Microsoft Excel 會等待 30 秒以完成第一個程序。如果 30 秒內 Microsoft Excel 無法回到 [就緒] 模式,則不會執行此程序。如果省略此引數,Microsoft Excel 會一直等到可以執行該程序為止。
- Schedule 選用 Variant 若為 True,排程新的 OnTime 程序。若為 False,清除先前設定的程序。預設值為 True。
複製代碼 就可以知道這樣寫就好了- Sub auto_open()
- Application.OnTime TimeValue("18:25:00"), "Sonny" 'Sonny定義如2樓
- End Sub
複製代碼 |
|
|
|
|
|
|
|