通过查看其他人的代码并对其进行修改,我设法拼凑了这段代码:
Sub LookForNew()
Dim n As String, msg As String, d As Date
msg = ""
Set fso = CreateObject("Scripting.FileSystemObject")
Set fils = fso.GetFolder(Range("B4")).Files
For Each fil In fils
n = fil.Name
d = fil.DateCreated
If d >= Range("E1") Then
msg = msg & n & vbTab & d & vbCrLf
Range("C4") = Range("B1")
End If
Next fil
If msg = "" Then
MsgBox "No new files"
Range("C4") = Range("B1")
Else
MsgBox msg
End If
Set fso = Nothing
End Sub
循环浏览文件夹中的文件(路径位于" B4")。如果存在比" E1"中给出的日期更新的文件管理器,则它会返回警报。
我想要添加的是一个循环,循环遍历范围" B4:B22"中给出的所有文件夹路径。并对这些文件夹中的每个文件重复上述操作。到目前为止,我只遇到了错误......
答案 0 :(得分:1)
如果我已正确理解你的问题,我只需将所需的操作包装在Do Until
中,每次迭代中行加1。
显然,如果范围" B4:B22"然后,这可以变得更聪明。
Private Sub LookForNew()
Dim n As String, msg As String, d As Date
msg = ""
rownum = 3
Set fso = CreateObject("Scripting.FileSystemObject")
Do Until rownum = 24
rownum = rownum + 1
Set fils = fso.GetFolder(Range("B" & rownum)).Files
For Each fil In fils
n = fil.Name
d = fil.DateCreated
If d >= Range("E1") Then
msg = msg & n & vbTab & d & vbCrLf
Range("C4") = Range("B1")
End If
Next fil
If msg = "" Then
MsgBox "No new files"
Range("C4") = Range("B1")
Else
MsgBox (msg)
End If
'Set fso = Nothing
Loop
End Sub