Application.OnTime 是否在執行中的語法?
- 帖子
- 764
- 主題
- 254
- 精華
- 0
- 積分
- 1031
- 點名
- 0
- 作業系統
- windows 11
- 軟體版本
- OFFICE2021
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2011-5-30
- 最後登錄
- 2025-6-9
|
Application.OnTime 是否在執行中的語法?
開始==> Application.OnTime The_Time, "timestock"
停止==> Application.OnTime The_Time, "timestock", Schedule:=False
請教 timestock 是否在執行中的語法 ???
if ........then |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2014-8-5 15:47
| 只看該作者
回復 1# t8899
試試看- Option Explicit
- Dim The_Time As Date, Msg As Boolean
- Sub EX()
- MsgBox "timestock " & IIf(Msg, "執行中", "已停止")
- End Sub
- Sub Ex_開始()
- Msg = True
- The_Time = Time + #12:01:00 AM#
- Application.OnTime The_Time, "timestock"
- End Sub
- Sub Ex_停止()
- Msg = False
- Application.OnTime The_Time, "timestock", False
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 764
- 主題
- 254
- 精華
- 0
- 積分
- 1031
- 點名
- 0
- 作業系統
- windows 11
- 軟體版本
- OFFICE2021
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2011-5-30
- 最後登錄
- 2025-6-9
|
3#
發表於 2014-8-5 20:30
| 只看該作者
本帖最後由 t8899 於 2014-8-5 20:40 編輯
回復 t8899
試試看
GBKEE 發表於 2014-8-5 15:47 
謝謝
我的問題是
Application.OnTime The_Time, "timestock", Schedule:=False
有時這行停止無效,也沒有出現訊息,....然後再重跑,變成兩個timestock同時在跑
不知如何解決?有無特殊處理方法讓它停止?我都關檔再重開!
如果在 "timestock" 執行之前做一個開關 Msg As Boolean
timestock 的真正執行狀態應不受msg 的影響 ??(不會傳給msg)
所以我要的應是
if timestock 正在執行中 則跳出否則 執行 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2014-8-6 06:04
| 只看該作者
回復 3# t8899
VBA沒有函數可傳回程式中有幾個Application.OnTime在執行中.
我的問題是
Application.OnTime The_Time, "timestock", Schedule:=False
有時這行停止無效,也沒有出現訊息,....然後再重跑,變成兩個timestock同時在跑
Application.OnTime The_Time, "timestock"
有時這行停止無效 Application.OnTime The_Time, "timestock", Schedule:=False
會是因為你The_Time變數給的時間不一樣所致.
請試將 timestock變數在一般模組頂端,設為公用的變數, |
|
|
|
|
|
|
- 帖子
- 764
- 主題
- 254
- 精華
- 0
- 積分
- 1031
- 點名
- 0
- 作業系統
- windows 11
- 軟體版本
- OFFICE2021
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2011-5-30
- 最後登錄
- 2025-6-9
|
5#
發表於 2014-8-6 06:26
| 只看該作者
本帖最後由 t8899 於 2014-8-6 06:37 編輯
回復 t8899
VBA沒有函數可傳回程式中有幾個Application.OnTime在執行中.
請試將 timestock變數在一般模組頂端,設為公用的變數
GBKEE 發表於 2014-8-6 06:04 
謝謝 !
我設的變數為 The_Time = Time + my
公用變數是要設定The_Time 還是 my ?還是全設?
Public The_Time As Date
Public my As Date |
|
|
|
|
|
|
- 帖子
- 764
- 主題
- 254
- 精華
- 0
- 積分
- 1031
- 點名
- 0
- 作業系統
- windows 11
- 軟體版本
- OFFICE2021
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2011-5-30
- 最後登錄
- 2025-6-9
|
6#
發表於 2014-8-6 06:44
| 只看該作者
本帖最後由 t8899 於 2014-8-6 06:45 編輯
抱歉,我發現我有設為public為
Public The_Time As Date
Dim my As Date
my 也要設為 public ??是這問題嗎造成的嗎? |
|
|
|
|
|
|