【发布时间】:2019-02-20 14:18:44
【问题描述】:
使用文件名在文件夹和子文件夹中搜索文件,如果找到复制到 vba 宏中的另一个文件夹 代码没有显示错误,但文件没有从文件夹中复制,我需要遍历子文件夹并找到一个文件。
Sub copy_files_from_subfolders()
Dim fso As Object
Dim fld As Object
Dim fsofile As Object
Dim fsofol As Object
sourcepath = "FINAL CUT\"
destinationpath = "Desa\MECA\"
If Right(sourcepath, 1) <> "\" Then
sourcepath = sourcepath & "\"
End If
Set fso = CreateObject("scripting.filesystemobject")
Set fld = fso.GetFolder(sourcepath)
If fso.FolderExists(fld) Then
For Each fsofol In fso.GetFolder(sourcepath).SubFolders
For Each fsofile In fsofol.Files
If Right(fsofile, 6) = 566978 Then
fsofile.Copy destinationpath
End If
Next
Next
End If
End Sub
【问题讨论】:
-
目标路径下的文件夹都存在吗?
-
抱歉,您要的是目标路径,目标路径中只有一个文件夹
-
您确定要检查的文件名以编号 566978结尾吗?
-
文件夹和子文件夹中的文件比较多,我需要找一些以6位数字开头的pdf文件,后跟_PTA,例如123456_PTA.pdf,123456_AOP.pdf,123456_HUD27011.pdf ,我需要这些文件,但每个搜索的数量可能会有所不同。但是数字后面的名字是我上面提到的,那是我按数字搜索的原因。
-
有很多文件,但我只需要 3 个以 6 位数开头的文件,例如 123456_PTA.pdf,123456_AOP.pdf,123456_HUD27011.pdf 但有很多文件有这个数字但我需要只有这些文件要复制到目标文件夹中。谢谢你的帮助