列出文件夹内的文件名清单
两种方法取出文件夹内文件名清单:一种使用vba,一种使用公式。
方法一:使用vba
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub callfile() Call GetFiles("X:\Staff Folders\Luka Yu\GSB report\Q318\WK12\") End Sub Sub GetFiles(ByVal path As String) Dim fso As Object Set fso = CreateObject("scripting.FileSystemObject") Dim folder As Object Set folder = fso.GetFolder(path) Dim subfolder As Object Dim file As Object '可选,同时寻找子文件夹内的文件 'for each subfolder in folder.SubFolders 'GetFiles(subfolder.path) 'next subfolder Range("A" & 1).Value = "File Name" For Each file In folder.Files Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = file.path Next file Set fso = Nothing Set folder = Nothing Set file = Nothing End Sub |
方法二:使用公式:
1. 在A1单元格列出文件夹地址,末尾加通配符,表示列出所有格式的文件,如果只列出Excel表,则使用xls,如果只列出Word文件,则使用doc*,比如x:\Staff Folders\Luka Yu\GSB report\Q318\WK11*,将列出所有文件清单。
2. 在公式菜单栏里选中定义名称或者英文的Define Name,去一个名字,在公式栏里打入=FIlES(鼠标点中上面的A1单元格),如下表显示:
3. 在B2单元格中输入公式,=index(输入刚才定义的名称,rows($A$1:A1)),向下拉动直到出现错误值表明所有的文件都已拉去完毕。