在特定时间运行VBA excel宏

时间:2013-11-25 20:32:29

标签: excel vba excel-vba vbscript

尝试找出在特定时间启动excel宏的最佳方法。我找到了一些建议,但我仍然对这个想法有很多疑问,并希望你们能提供一些澄清。

我正在尝试做什么:我有连接到我的数据库的excel工作簿。因此,在每个月的最后一天晚上11:30,我想进入几个excel工作簿(我为每个销售的供应商提供一个),启用安全性和编辑并刷新连接,因此表中的所有信息都是最新。最后,我想将该文件的副本保存在当前文件夹内的子文件夹中。

按时运行方法:

这是我在ozgrid上找到的run on time method。我的问题是,我假设excel需要在当时运行才能执行该方法?如果是这样,那么打开excel和刷新工作簿的一种方法是什么?

在Windows任务计划程序上运行Excel Windows Task Scheduler

本质上这个方法是使用Excel控制器使用VBS运行excel ...看起来比运行时方法更有前景但我不太熟悉excel控制器如何工作或VBS,所以对此有任何帮助或想法我将不胜感激。

非常感谢任何输入。如果我的想法在左侧领域出路,你们能帮助我指出正确的方向吗?

提前感谢您的所有帮助!

1 个答案:

答案 0 :(得分:0)

解决问题。使用普通的Excel查询工具创建工作簿,并在打开工作簿时加载查询的结果集(您没有指定版本,但请参阅{ {3}} for Excel 2013)。

然后,在数据库中创建一个包含所需结果的视图,或者将视图的结果具体化为临时表,然后由工作簿读取。

然后,用户可以在需要数据时打开工作簿,并且可以获得当前结果。然后,查询的参数化版本可以访问历史表到较旧的时段。

这样,所有数据仅在需要时准备,并且始终可用而没有调度复杂性。