excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel vba之fso案例(递归遍历及文件拷贝删除)

功能:遍历选中文件夹下各级子文件夹,将文件名包含D列关键字的文件提取到“合并文件夹”并删除源文件夹里的文件
Sub 按钮2_Click() Set fso = CreateObject("scripting.filesystemobject") fd_x = "" arr = Range("d2:d" & Cells(Rows.Count, "d").End(3).Row + 1) Application.ScreenUpdating = False str1 = ThisWorkbook.Path & "\合并文件夹\" Call get_folder(fd_x) Call Getfd(fd_x, arr, str1, fso) Application.ScreenUpdating = True End Sub Sub Getfd(ByVal pth, arr, str1, fso) Set ff = fso.getfolder(pth) If InStr(ff, "合并文件夹") = 0 Then For Each f In ff.Files For k = 1 To UBound(arr) If InStr(f.Name, arr(k, 1)) > 0 And Len(arr(k, 1)) > 0 Then fso.CopyFile f, str1, True fso.DeleteFile f, True Exit For End If Next k Next f End If For Each fd In ff.subfolders Call Getfd(fd, arr, str1, fso) Next fd End Sub Sub get_folder(fd_x) With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ThisWorkbook.Path & "\" .Title = "请选择对应文本夹" If .Show Then fd_x = .SelectedItems(1) Else MsgBox "未选择有效文件夹" End End If End With End Sub

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接