|
如何将列在excel里面的模糊文件名 如:以“Small”,“Big”为关键字,
以“C:\test\"为目标文件夹,将目标文件夹中所有含有关键字的文件(包括在子文件夹中符合要求的文件)
复制到"C:\123\"下面。
请问这个如何操作?
- Dim arr(1 To 10000, 1 To 1), s%
- Sub Macro1()
- Dim brr, i%, j%, zf$
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- brr = Range("a1").CurrentRegion
- s = 0
- zdir ThisWorkbook.Path & "\name1"
- For i = 1 To s
- x = Split(arr(i, 1), "")
- zf = x(UBound(x))
- For j = 1 To UBound(brr)
- If zf Like "*" & brr(j, 1) & "*" Then
- With Workbooks.Open(Filename:=arr(i, 1))
- '把文件复制到当前路径,楼主自己参考修改
- .SaveAs Filename:=ThisWorkbook.Path & "" & zf
- ActiveWorkbook.Close 1
- End With
- End If
- Next
- Next
- Application.DisplayAlerts = True
- Application.ScreenUpdating = True
- End Sub
- Sub zdir(p)
- Set fs = CreateObject("scripting.filesystemobject")
- For Each f In fs.GetFolder(p).Files
- s = s + 1: arr(s, 1) = f
- Next
- For Each m In fs.GetFolder(p).SubFolders
- zdir m
- Next
- End Sub
复制代码
|
|