如何根据excel表格列表批量搜索文件夹并将搜索到的文件夹放到同一个文件夹里? 60
有excel表格,一整列都是需要搜索的文件夹的名称,怎么样可以将那一列的文件夹在一大堆文件夹里面搜索出来并放到另一个文件夹里?...
有excel表格,一整列都是需要搜索的文件夹的名称,怎么样可以将那一列的文件夹在一大堆文件夹里面搜索出来并放到另一个文件夹里?
展开
1个回答
展开全部
写vba代码,使用fso对象(需要添加引用miscrosoft script runtime)
更多追问追答
追问
可以写一个可以实现的代码吗?直接在粘贴在这里,谢谢
追答
这是我以前写的一个函数,你参考一下。
'使用FSO对象(引用库Miscrosoft Scripting Runtime)获取某文件夹下所有相同后缀的文件路径
Public Function getAllFiles(FolderPath As String, FileExt As String) As String
'参数 FolderPath:输入批处理文件夹路径;
'参数 FileExt:需获取的文件后缀,仅支持一种后缀,不带"."号;
'返回值:FolderPath文件夹下包括子文件夹的所有FileExt后缀的文件路径(相对路径)字符串,"|"间隔
Dim tempPath As String '储存路径名数组
Dim fsoObject As FileSystemObject
Dim fsoFolder As Folder
Dim fsoFile As File
Dim fsoSubFld As Folder
tempPath = "" '初始临时储存
Set fsoObject = New FileSystemObject
Set fsoFolder = fsoObject.GetFolder(FolderPath) '获取文件夹对象
For Each fsoFile In fsoFolder.Files '遍历文件夹的文件
If fsoObject.GetExtensionName(fsoFile.Name) Like FileExt Then
tempPath = tempPath & fsoFile.Path & "|" '存储符合条件文件名
End If
Next
If fsoFolder.SubFolders.Count > 0 Then
For Each fsoSubFld In fsoFolder.SubFolders
tempPath = tempPath & getAllFiles(fsoSubFld.Path, FileExt) '递归调用自身
Next
End If
' getAllFiles = Left(tempPath, Len(tempPath) - 1) '删除末尾多余间隔符作为返回值
getAllFiles = tempPath
Set fsoObject = Nothing
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询