作者:祝洪忠 轉自:Excel之家ExcelHome
小伙伴們好啊,今天和大家分享一個高效好玩的技巧。
如下圖所示,在“測試”文件夾內,包含有兩個word文件和子文件夾“測試2”,在“測試2”文件夾內有Excel文檔和另外一個子文件夾。
咱們看看如何快速獲取文件夾內的所有文件名。
接下來咱們以Excel 2016為例,說說具體的操作方法:
1、依次單擊【數據】→【獲取數據】→【自文件】→【自文件夾】
2、點擊【瀏覽】按鈕,找到文件夾位置。
3、在數據查詢編輯器中,右鍵單擊Name字段,刪除其他列。
4、最后單擊【關閉并上載】。
使用此方法,可以快速提取出包含子文件夾在內的所有文件列表,如果在文件夾中增加了子文件夾或是新增了文件,只要在匯總表中單擊右鍵→刷新。就可以可獲取最新的文件名列表。
如果是低版本的Excel,還可以使用VBA代碼的方法來提取:
Sub FileDir()
Dim p$, f$, k&
'獲取用戶選擇文件夾的路徑 With Application.FileDialog(msoFileDialogFolderPicker) '選擇文件夾
If .Show Then
p = .SelectedItems(1)
'選擇的文件路徑賦值變量P Else
Exit Sub
'如果沒有選擇保存路徑,則退出程序 End If
End With
If Right(p, 1) <> "" Then p = p & ""
f = Dir(p & "*.*")
'返回變量P指定路徑下帶任意擴展名的文件名
'如果有超過一個文件存在,將返回第一個找到的文件名
'如果一個文件都沒有,則返回空 [a:a].ClearContents '清空A列數據 [a1] = "目錄"
k = 1
Do While f <> ""
'如果文件名不為空,則…… k = k + 1
'累加文件個數 Cells(k, 1) = f
f = Dir
'第二次調用Dir函數,但不帶任何參數,則將返回同一目錄下的下一個文件。 Loop
MsgBox "OK"
End Sub
好了,今天的內容就是這些吧,祝各位小伙伴一天好心情!