【发布时间】:2017-06-10 03:36:59
【问题描述】:
用户从仪表板下载定期报告。此报告以 .xls 文件的形式下载。用户要求我编写一个 VBA 程序,每次她下载此报告时都会完成几个操作。
她不想在下载报告时记住启动此宏 - 她希望它在下载文件时自行启动。
报告始终具有相同的名称和格式。
有没有办法让 Excel 检测到已下载具有特定名称的文件并启动宏?
【问题讨论】:
-
来自 Excel,没有。您必须使用她正在使用的浏览器才能打开 excel 文档,然后在打开 excel 事件时触发它。为此(根据浏览器中的名称自动打开文档),您需要研究这是否可能(tbh,我不这么认为)。
-
根据此电子表格的在线位置,如果您“反转”该过程,也许有一种使用 VBA 的方法。让她打开 Excel,然后让 Excel 下载报告,运行宏。 或 - 如果您知道要使用的 url,您可以使用 Excel 询问 URL,然后下载/操作文件。 ...当然,这都需要员工记住使用 Excel。
-
如果用户乐于让 Excel(或其他可以使用 Excel 对象模块的应用程序)在后台一直运行,则可以将其设置为持续监视创建/更新硬盘驱动器上的文件,然后打开工作簿并执行必要的操作。 (但是 Batm ..,我的意思是 Bruce 的建议,如果有机会重新培训用户使用新方法,我会采用 Excel 进行下载的建议。)
-
您可以将您的 VBA 转换为 VBScript 并在 Windows 调度程序中定期运行它。这里正在进行什么样的后台处理?如果在任何时候将此数据上传到数据库,您应该使用数据库工具来管理自动过程