Tl:dr當Excel未打開時,查看是否有任何方法啓動Excel VBA宏。Excel關閉時啓動宏
長版本:我有一個宏從一組特定的網站獲取數據,並相應地更新電子表格。唯一的問題是數據會在不方便的時間更新,即星期一早上05.00(GMT)和星期四早上01.15(GMT)。
我需要的是一種Excel自啓動方式,收集數據,更新電子表格,然後關閉。這可能嗎?
Tl:dr當Excel未打開時,查看是否有任何方法啓動Excel VBA宏。Excel關閉時啓動宏
長版本:我有一個宏從一組特定的網站獲取數據,並相應地更新電子表格。唯一的問題是數據會在不方便的時間更新,即星期一早上05.00(GMT)和星期四早上01.15(GMT)。
我需要的是一種Excel自啓動方式,收集數據,更新電子表格,然後關閉。這可能嗎?
如果我是你,我會這樣說:
起初我安裝第三方程序,與我打開XLSM文件,在需要時。
一旦Excel打開了電子表格,您可以創建一個Sub Workbook_Open()
例程來自動運行您的宏。您的宏可以在完成後關閉電子表格,然後退出Excel。
最好的方法是寫一個VB.net腳本來做到這一點。
的最簡單的方法是在夜間離開電腦開啓並按照this簡明教程:
Public dTime As Date
Dim lNum As Long
Sub RunOnTime()
dTime = Now + TimeSerial(0, 0, 10)
Application.OnTime dTime, "RunOnTime"
lNum = lNum + 1
If lNum = 3 Then
Run "CancelOnTime"
Else
MsgBox lNum
End If
End Sub
Sub CancelOnTime()
Application.OnTime dTime, "RunOnTime", , False
End Sub
另一種方式是使用Windows計劃,寫在this answer。
創建一個VbScript文件並編寫代碼來運行您的Excel宏,並安排它在所需的時間運行。 – ManishChristian
這[問題及其答案](http://stackoverflow.com/q/10232150/7648526)應該有所幫助。 – SteveES
是使用Windows TASK SCHEDULER來調用該過程。應該是一個相當簡單的過程,只需包含START A PROGRAM,應用程序名稱,EXCEL和文件名(包括路徑)即可。確保XLS在THISWORKBOOK中有一個WORKBOOK_OPEN子例程。如果你希望我能以正式答案拼出來。請告訴我。 – flaZer