0

我在 Excel 中构建了一个电源查询,它从共享文件夹中的最新文件中提取数据。它是一个带有 SQL 命令类型的“OLE DB 查询”(不确定这是否是相关信息,但我认为我会包含它。)

该文件会自动使用新数据更新,并每天两次(大约上午 9:45 和下午 4:30)手动保存在共享文件夹中(不幸的是,并不总是使用相同的命名约定)。我想在那个时候刷新查询;但是,当我进入“使用”下的查询属性,然后在“刷新控制”下,唯一的选项是:“启用后台刷新”,“每 __ 分钟刷新一次”,“打开文件时刷新数据”,“刷新这个刷新所有连接”和“启用快速数据加载”。目前,我在打开文件时启用了刷新数据并在全部刷新时刷新此连接。

是否可以使用 VBA 或其他方法使查询每天在这两个特定时间(上午 9:45 和下午 5:00)自动刷新数据?

注意:我有一些使用 VBA 代码的经验,但只有非常基本的知识。

4

2 回答 2

0

您可以从 Ivan Bond 尝试这个解决方案: https ://github.com/IvanBond/Power-Refresh/

我自己没有尝试过,但似乎经过深思熟虑。

于 2020-08-23T22:24:52.277 回答
0


对的,这是可能的。

要求:
- 需要打开 excel -> 在 Workbook_Open 事件中,触发打开隐藏表单(它对用户不可见,但它将在后台“工作”)。

有一个名为“计时器”的表单的事件->每个设置的时间间隔,触发程序(例如每 10 分钟)-> 在此程序中检查当前时间 (now()) = 5:00 pm - > 然后执行更新程序,否则退出子程序(注意,不要检查具体时间,而是检查范围,例如(4:58 pm < x 5:05 pm))

链接:
https

://docs.microsoft.com/en-us/office/vba/api/access.form.timer 或者:
-您需要设置 Windows 时间表,在特定时间打开 excel -> 更新/检查将是在 Workbook_Open 事件上触发

于 2020-04-01T15:14:07.173 回答