Excel 2010 VBA - 不断在文件夹中查找要处理的文件?

Posted

技术标签:

【中文标题】Excel 2010 VBA - 不断在文件夹中查找要处理的文件?【英文标题】:Excel 2010 VBA - Continually Looking In Folder for File to Process? 【发布时间】:2017-07-07 17:48:47 【问题描述】:

我需要在 Excel 2010 中构建一个宏,它基本上会持续运行(由按钮启动或由按钮停止),它会查看文件夹。如果在此处创建文件并以某种方式命名,则宏将打开它并处理其中的数据。然后关闭并删除该文件。然后宏继续监视文件夹以获取更多要处理的文件

这是我可以使用 VBA 在 Excel 中创建的合理/可行的宏吗? VBA 能否连续运行而不会出现问题?

最好的问候 安迪

【问题讨论】:

是的,Application.OnTime 循环是可行的。试试看:) 对您的问题的简短回答是肯定的。不过,这不是免费的代码编写服务。我们很乐意帮助您解决您已经编写的代码遇到的问题。我建议查看Application.OnTime method。 感谢大家的建议! 【参考方案1】:

您的程序是否不断从 Excel 工作表中提取不断变化的数据?如果没有,我建议用另一种语言创建程序并在包含您的代码和 sleep() 函数的连续循环中运行。如果是这样,那么我建议使用工作表更改事件,并且您不能在宏运行时编辑工作表(即使您在 VBA 中使用睡眠/等待命令)

此链接也可能有帮助:How to get VBA Macro to run continuously in the background?

【讨论】:

【参考方案2】:

请参阅此主题以获得一些想法:

https://superuser.com/questions/226828/how-to-monitor-a-folder-and-trigger-a-command-line-action-when-a-file-is-created

第一个答案可能会这样做,只需从中触发您想要的 excel 宏。您可以随心所欲地执行。我相信,application.ontime 功能仅在打开 excel 时才有效。

你想要的是找到一种方法来持续监控文件夹。

【讨论】:

以上是关于Excel 2010 VBA - 不断在文件夹中查找要处理的文件?的主要内容,如果未能解决你的问题,请参考以下文章

VBA - 如何在 Excel 2010 的目录中获取最后修改的文件或文件夹

Excel 2010 VBA:使用单元格中的值保存文件以确定路径和文件名

每次使用VBA在excel 2010中保存一个不同名称的文件[关闭]

excel 2010 vba。 sql查询列'like' vlookup

EXCEL2010 vba 循环打开某些文件夹下的excel文件

Excel VBA FSO.GetFolder(folderPath) 在 2007 年但不是 2010 年工作