2014-10-10 41 views
0

我希望有人可以幫助我與我的宏。這是相對基本的,但我似乎無法弄清楚爲什麼它不會繼續循環。文件循環宏停止後第一次成功

宏應該通過爲所有TXT文件一組文件夾。那些在過去一週內修改日期的文件應該表示成功並繼續執行其他步驟。

我遇到的問題是,過去一週修改過的第一個文件觸發下一步,但宏結束並且不繼續查找其他最近修改的文件。

下面的例子被簡化以打開一個MsgBox,但完整的宏運行每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 
+3

從If If – 2014-10-10 20:58:33

+0

中刪除「Exit Sub」,我是一個屁股。感謝您指出了這一點。 – JMCC 2014-10-10 21:29:57

+0

沒問題。我知道它的感覺如何;) – 2014-10-10 21:32:48

回答

0

從如果

1

去掉「退出小組」要麼你註釋掉退出小組或刪除它。

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 
相關問題