Excelclosures时启动macros
Tl:dr在Excel未打开时查看是否有任何方法启动Excel VBAmacros。
长版本:我有一个macros从一组特定的网站获取数据,并相应地更新电子表格。 唯一的问题是,数据在不方便的时候更新,即星期一上午05.00(GMT)和星期四上午01.15(GMT)。
我需要的是一种Excel自启动方式,收集数据,更新电子表格,然后closures。 这可能吗?
更容易 – 不需要VB脚本。
运行WINDOWS TASK SCHEDULER,使用Excel作为应用程序设置一个作业。
你将不得不searchExcel.exe – 因为我的版本,我在这里find它:
"C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE"
接下来将参数作为完整path提供给macrosembedded的Excel文件。 对于我的testing,我在桌面上调用了一个文件:
C:\Users\br12260\Desktop\TimeSeries.xls
然后确保工作Workbook_Open
在ThisWorkbook
模块中有一个Workbook_Open
过程来触发你的代码:
如果我是你,我会这样:
首先,我安装第三方程序,在需要时打开XLSM文件。
一旦Excel打开了电子表格,您可以创build一个Sub Workbook_Open()
例程来自动运行您的macros。 完成后,您的macros可以closures电子表格,然后退出Excel。
最好的方法是编写一个VB.net脚本来做到这一点。
最简单的方法是在夜间打开电脑,并遵循这个简单的教程:
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调度程序,就像写在这个答案中一样 。