返回列表 上一主題 發帖

[發問] 巨集自動執行

[發問] 巨集自動執行

加工剩餘數.xlsm裡的巨集
Sub 剩餘數計算()
....
.......
........
Call 更新
End Sub

Sub 更新()
If Time <= TimeValue("19:00:00") Then   
    Application.OnTime Now + TimeValue("00:05:00"), "剩餘數計算"
  End If
End Sub

Sub 結束視窗()
Workbooks("加工剩餘數.xlsm").Close SaveChanges:=False
End Sub

如果同時開了兩個EXCEL檔 ,當只關掉"加工剩餘數.xlsm",
繼續使用另一個ECXEL檔時,系統時間到了
仍會自動開啟"加工剩餘數.xlsm"執行"剩餘數計算"

請問各位前輩,有什麼方式可以 結束視窗即不在執行程式

https://docs.microsoft.com/zh-tw/office/vba/api/excel.application.ontime
Schedule 選用false

TOP

回復 2# cody


Sub 結束視窗()
Application.OnTime EarliestTime:=TimeValue("00:00:10"), _
Procedure:="資料剝析", Schedule:=False
'Workbooks("加工剩餘數.xlsm").Close SaveChanges:=False
End Sub

是這樣寫法嗎?!  但我執行時會出現

執行階段錯誤'1004'
'OnTime'方法('_Application'物件)失敗

TOP

回復 2# cody


    我找到問題了,我把解釋的單字也寫入難怪執行錯誤
    改成 Application.OnTime fireTime, "下午更新", False      就可以了   :lol :lol

TOP

回復 2# cody

    Private Sub CommandButton1_Click() --寫在工作頁裡
    Call 結束視窗
     End Sub

   Sub 結束視窗()--此程式是放在"模組"裡
   Application.OnTime fireTime, "下午更新", False
  End Sub
  
   or

  Application.OnTime Now+ TimeValue("00:00:05"), "下午更新", False

   時間到了還是會自動執行  是那裡出了問題

TOP

RE: 巨集自動執行

回復  cody

    Private Sub CommandButton1_Click() --寫在工作頁裡
    Call 結束視窗
     End Su ...
annie.l 發表於 2021-1-28 12:10



    加工剩餘數-123.zip (25.66 KB)

TOP

模組區:
public uTime '頂端宣告共用變數

Sub 剩餘數計算()
........
Call 更新
End Sub

Sub 更新()
If Time <= TimeValue("19:00:00") Then
   uTime= Now + TimeValue("00:05:00")
    Application.OnTime uTime, "剩餘數計算"
  End If
End Sub

Sub 結束視窗()
on error resume next
Application.OnTime uTime, "剩餘數計算", Schedule:=False
on error goto 0
Workbooks("加工剩餘數.xlsm").Close SaveChanges:=False
End Sub

TOP

回復 7# 准提部林


    請問版大  
    on error 兩段的用意是什麼
   on error 是call結束視窗觸發的嗎?!

   Sub 結束視窗()
   on error resume next
   Application.OnTime uTime, "剩餘數計算", Schedule:=False
   on error goto 0
   Workbooks("加工剩餘數.xlsm").Close SaveChanges:=False
   End Sub

TOP

回復 8# annie.l


當下次預計執行的程序不存在, 會引發錯誤,
ON ERROR 是用來避免錯誤, 可上網找說明,

TOP

回復 9# 准提部林

謝謝 我再上網搜尋

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題