我需要知道是否可以每天早上7:00执行宏。
这将通过宏还是通过一些视觉基本组件来完成?
答案 0 :(得分:1)
我知道有几种方法可以做到,但这两种都不是完美的。
第一个是VBA中的instance.get('/s/ioedmud5dbc2bnu/1100.%20mobi.jpg?dl=1').then(...).catch(...);
方法(文档here)。此方法将安排另一种方法在特定时间运行。我尚未彻底测试此功能,所以我不知道是否在excel重新启动甚至关闭工作簿时都保留时间表。
另一个选项是Windows Task Scheduler(感谢Mistella)。您可以在任务计划程序中设置基本任务,以在给定的时间以给定的时间间隔在excel中打开excel中的特定工作簿,并使您希望在工作簿的Application.OnTime
事件中运行代码。在该事件中,您可以检查时间。如果时间与指定的任务计划程序时间足够接近,则可以执行所需的工作,保存工作簿并关闭它,而无需用户干预。
答案 1 :(得分:0)
Workbook_Open()
事件的问题在于,如果您仍然需要在白天手动对工作簿进行操作,则宏将启动,根据宏的作用,该宏可能是错误的来源。
或者,您可以使用上述Windows任务计划程序来运行VB脚本,该脚本将在工作簿中运行宏。
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False 'turn off alerts
xlApp.Application.Visible = False 'keeps Excel hidden
Set xlBook = xlApp.Workbooks.Open("C:\MyPath\MyWorkbook.xlsm", 0, False)
xlApp.Run "MACRO_NAME"
xlBook.Save
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
只需在记事本中键入脚本并另存为.vbs(然后使用Windows Task Scheduler运行.vbs)即可。