文章目录
1 极速版
sub getFolderFiles()
' 获取当前文件夹所有文件
Folder = "D:\OneDrive\桌面\test\"
Filename = Dir(Folder)
While Filename <> ""
Debug.Print Filename
Filename = Dir
Wend
End sub
2 不包含当前文件版
sub getFolderFiles()
' 获取当前文件夹所有文件
Folder = "D:\OneDrive\桌面\test\"
Filename = Dir(Folder)
While Filename <> ""
if Filename <> ThisWorkbook.Name Then
Debug.Print Filename
Filename = Dir
end if
Wend
End sub
3 函数版
不能返回数组,所以多加一步,数组变成字符返回,然后在调用处拆分为数组
Function getCurFiles()
' 获取当前文件夹所有文件
Dim Folder$, Filename$, Filepath$, filepaths(), arrCount%
Folder = "D:\OneDrive\桌面\隽悦雅苑\"
Filename = Dir(Folder)
While Filename <> ""
If Filename <> ThisWorkbook.Name Then
ReDim Preserve filepaths(0 To arrCount)
Filepath = Folder + Filename
filepaths(arrCount) = Filepath
arrCount = arrCount + 1
End If
Filename = Dir
Wend
getCurFiles = Join(filepaths, "|")
End Function
第3个的使用案例
Sub test()
Dim arr,a,file$
file = getCurFiles
arr = Split(file,"|")
For Each a in arr
Debug.Print a
Next
End Sub