返回列表 上一主題 發帖

想請教-在設定的日期自動執行巨集

想請教-在設定的日期自動執行巨集

繼上一次提問設定時間自動執行巨集之後,
感謝版主大大鼎力相助,已解決小弟的問題
想再請教,
如果我想加入"日期"的話,
該怎麼寫呢?
就是設定:
2010年10月19日,早上09:00:00
macro1
這樣.

謝謝.

回復 35# 三寶
Hsieh版主的程式碼Application.OnTime時所執行的程序要加上引數
程序有引數時 呼叫此程式 必須在空一格後加上引數 程序的引數有指定型態時 引數要是同型態
複製程式碼 執行看看
Sub test()
mytime = Now
mystr = "'nn " & Chr(34) & mytime & Chr(34) & "'"
MsgBox  mystr
Application.OnTime mytime, mystr
End Sub
Sub nn(T As Date)     '引數型態是日期
MsgBox "執行時間"&t
End Sub

TOP

回復 30# basarasy
嗯,對啊,目前我試了是這樣沒錯,
不過要指定日期
If Date="2010/10/21"  Then
這樣的話,只有在指定那一天的那個時間才會RUN
過了那個時間再RUN EX,它也不會RUN
可是沒有指定日期的話,那過了那個時間它還是會再RUN一次,
因為Hsieh版大寫的VBA我看不懂,
所以我還是用GBKEE版大的方法做,
到現在試起來是OK的,
你試試看吧,如果有發現什麼行不通的地方,
再通知一下,
說不定我沒發現到,
謝謝.

TOP

謝謝大大.
但我是想問  
指定時間(9:00:10)
在8:59:59 RUN EX
等到9:00:10  自動RUN "????"

9:00:11  RUN EX  不會RUN "????"
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 三寶 於 2010-10-21 23:23 編輯

回復 30# basarasy

我按照GBKEE版大的寫法,
就會達成你的要求啦
時間沒到不會RUN
時間過了也不會RUN
應該沒錯,你再試試看吧...

TOP

回復 30# basarasy
是不是如此
  1. Sub Ex()
  2.     If Time > TimeValue("09:00") And Time < TimeValue("13:30") Then
  3.         Application.OnTime Time + TimeValue("00:00:10"), "????"
  4.     End If
  5. End Sub
複製代碼

TOP

回復 30# basarasy


    因為ONTIME是為將來設定執行程序
所以應該用帶參數的程序來判斷時間是否超過
在程序nn的第一行程序If Now > T Then Exit Sub
設置中斷點
執行test即可了解
  1. Sub test()
  2. mytime = Now
  3. mystr = "'nn " & Chr(34) & mytime & Chr(34) & "'"
  4. Application.OnTime mytime, mystr
  5. End Sub
  6. Sub nn(T As Date)
  7. If Now > T Then Exit Sub
  8. MsgBox "執行"
  9. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 29# GBKEE


    那麼請問要指定時間才run,不到時間和過了時間不會run 如果寫?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復  GBKEE
    請問大大.
如果時間過了再run都是可行的.
可以set定只有特定時間才run嗎?
basarasy 發表於 2010-10-21 19:28

Application.OnTime  "指定特定的時間","執行的程式"
"指定特定的時間"-> ,必須是執行此程式碼的時間之後才行的.
請詳看VBA的說明

TOP

回復 26# GBKEE


    請問大大.
如果時間過了再run都是可行的.
可以set定只有特定時間才run嗎?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題