文件循环macros在第一次成功后停止

我希望有人可以帮助我的macros观。 这是相对基本的,但我似乎无法弄清楚为什么它不会继续循环。

macros应该查看所有TXT文件的设置文件夹。 那些在过去一周内修改date的文件应该表示成功并继续执行其他步骤。

我碰到的问题是,过去一周修改的第一个文件触发下一步,但是macros结束,并不继续find其他最近修改的文件。

下面的示例简化为打开msgbox,但是完整的macros将为每个TXT文件运行其他进程。

如果有人可以提供一些指导,将不胜感激。

Sub OpenAllFiles() Dim MyFile As Variant Dim MyFolder As String Dim FileCount As Integer MyFolder = "C:\Input Files\" MyFile = Dir(MyFolder) Do While (MyFile <> "") If Format(FileDateTime(MyFolder & MyFile), "YYYYMMDD") > Format(Now - 6, "YYYYMMDD") Then MsgBox ("Recent File Found. " & MyFile & " modified " & FileDateTime(MyFolder & MyFile)) Exit Sub End If MyFile = Dir Loop End Sub 

您可以注销Exit Sub或将其删除。

 Sub OpenAllFiles() Dim MyFile As Variant Dim MyFolder As String Dim FileCount As Integer MyFolder = "C:\Input Files\" MyFile = Dir(MyFolder) Do While (MyFile <> "") If Format(FileDateTime(MyFolder & MyFile), "YYYYMMDD") > Format(Now - 6, "YYYYMMDD") Then MsgBox ("Recent File Found. " & MyFile & " modified " & FileDateTime(MyFolder & MyFile)) 'Exit Sub End If MyFile = Dir Loop End Sub 

从If中删除“Exit Sub”