Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何將資料夾及其子資料夾中的所有檔案列出到工作表中?

Author Xiaoyang Last modified

在處理儲存在不同資料夾和子資料夾中的大量檔案時,有時候您可能需要生成一個包含所有檔名的完整列表,以用於追蹤、編目或批量處理。然而,Excel 並未提供直接的內建功能來將資料夾(包括其子資料夾)中的所有檔名列至工作表中。這個限制可能會帶來挑戰,特別是當資料夾結構複雜或檔案經常更新時。幸運的是,有一些實用且可靠的方法可以在 Excel 中高效地完成此任務。

在本指南中,您將發現幾種方法,能夠將所有檔名(包括子資料夾中的檔名)直接列至 Excel 工作表中,同時還會提供詳細的操作步驟、參數說明以及避免常見問題的小技巧。這些解決方案將幫助您簡化檔案管理流程,並能根據各種專業或個人組織需求進行調整。

使用 Power Query 快速輕鬆列出資料夾及其子資料夾中的所有檔名

使用 Kutools for Excel 快速輕鬆列出資料夾及其子資料夾中的所有檔名

使用 VBA 程式碼列出資料夾及其子資料夾中的所有檔名


使用 Power Query 快速輕鬆列出資料夾及其子資料夾中的所有檔名

在較新版本的 Excel 中,內建的「取得資料」(Power Query)功能可用於從資料夾加載檔案列表,包括一些選定的屬性。

1. 前往「資料」>取得資料>「從檔案」>從資料夾

2. 選擇要列出所有檔案的資料夾,然後點擊「開啟」。

表格將列出所選資料夾中的所有檔案,包括子資料夾中的檔案。

3. 點擊「載入」 / 「載入至」將列表載入到工作表中。


使用 Kutools for Excel 快速輕鬆列出資料夾及其子資料夾中的所有檔名

雖然 VBA 擅長生成簡單的列表,但對於不熟悉程式設計或 Excel 宏安全設定的使用者來說,這可能顯得不太方便。此外,如果您希望不僅僅列出檔名,還希望一併顯示檔案大小、類型、創建或修改日期以及其他詳細屬性,Kutools for Excel 外掛提供了一個直觀且強大的解決方案。

Kutools for Excel 中的檔名列表工具讓您只需點擊幾下滑鼠,就能從選定的資料夾及其所有子資料夾中收集檔案資訊。這種方法對於需要額外靈活性的使用者尤其有益,例如按檔案類型篩選、建立超連結以便快速存取,或者在結果中包括隱藏的檔案和資料夾。它在管理文件檔案庫、追蹤多媒體資料庫或為備份或審計目的準備數據清單時特別有用。請注意:在繼續以下步驟之前,需要先下載並安裝Kutools for Excel

完成安裝後,請按照以下步驟使用檔名列表功能:

1. 在 Excel 工具欄中點擊「企業」標籤,選擇「匯入與匯出」,然後從菜單中選擇「檔名列表」。這將打開配置對話框。

2. 在檔名列表對話框中,您可以指定以下選項,以根據您的需求定制檔案列表:

A:點擊資料夾圖示 a screenshot of the folder icon 以選擇要掃描的資料夾。如果需要,該工具將自動包括子資料夾。

B: 在「檔案類型」部分,選擇「所有檔案」以包括所有檔案,而不論其類型;或者指定特定的副檔名(如 *.xlsx、*.docx 等),如果您只對某類型的檔案感興趣。

C: 在「檔案大小單位」部分,您可以選擇單位(如字節、KB、MB)來列出檔案大小,以便更容易解讀。

注意:為了包括所有子資料夾中的檔名,務必勾選「包括子目錄內的檔案」選項。此外,如果您希望也列出那些隱藏的檔案和資料夾,可以勾選「包括隱藏檔案和資料夾」。選擇「建立超連結」選項將自動生成每個檔案和資料夾的可點擊連結,這對於快速從工作表中存取檔案非常有幫助。如果某些檔案沒有出現在列表中,請確認您的過濾條件設置正確,並且這些檔案不受權限或系統限制影響。

a screenshot of configuring the Filename List dialog box

3. 點擊「確定」生成檔案列表。所選資料夾及其子資料夾中的所有檔案將顯示在新的工作表中,並附帶所選的檔案屬性(如完整路徑、大小、類型、創建和修改日期)。這提供了清晰且有條理的概覽,您可以使用 Excel 熟悉的篩選和排序功能進一步管理您的數據。

a screenshot listing the details of files of the selected folder

點擊以了解更多有關此檔名列表工具的詳細信息。

立即下載並試用 Kutools for Excel!


使用 VBA 程式碼列出資料夾及其子資料夾中的所有檔名

默認情況下,Excel 不包含遞歸列出資料夾及其子資料夾中檔案的原生函數。然而,您可以利用 VBA(Visual Basic for Applications)來自動執行此過程。使用 VBA 可讓高級用戶擴展 Excel 的功能,讓您靈活地自訂輸出——例如,僅獲取檔名,或包括其他屬性如檔案路徑。

當您熟悉 VBA 編輯器並需要定期自動執行類似的檔案列表程序時,此解決方案特別適合。對於任何希望保持 Excel 環境整潔而不安裝任何外掛的人也很有幫助。但是,請注意,VBA 宏需要在 Excel 中啟用宏,這可能在高安全性環境中受到限制。始終記住,在運行任何宏之前保存您的工作簿,以防萬一有未保存的更改導致意外的數據丟失。

1. 創建或激活一個新的工作表,您希望在此列出所有檔名。確保此工作表是空的,以免覆蓋任何重要數據。

2. 按下 ALT + F11 打開 Microsoft Visual Basic for Applications (VBA) 編輯器窗口。

3. 在 VBA 窗口中,點擊菜單欄上的「插入」,然後選擇「模組」。此操作將插入一個新的模組,您可以在其中粘貼您的 VBA 程式碼。

VBA 程式碼:列出資料夾及其子資料夾中的所有檔名

Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
  rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function

在運行程式碼之前,請檢查註釋以熟悉所使用的函數和變量。如果您希望修改列出的數據(例如完整路徑或檔案類型),可能需要相應地調整程式碼。

4. 將程式碼粘貼到模組窗口後,按下 F5 鍵運行程式碼。將出現一個對話框;選擇 MainList 宏名稱並點擊「運行」。如果您有另一個名稱相似的宏,請確保選擇正確的宏。

a screenshot of running the VBA code

5. 在出現的瀏覽對話框中,導航到並選擇目標資料夾,您希望列出該資料夾及其子資料夾中的檔案。選擇正確的起始資料夾很重要,因為宏將遞歸地從所有嵌套的子資料夾中檢索檔案。

a screenshot of selecting the folder you want to list all filenames including the subfolders

6. 指定所需的資料夾後,點擊「確定」。宏現在將處理該資料夾及其所有子目錄,並將所有檔名列表輸出到當前工作表,從 A2 單元格開始。根據檔案數量和子資料夾結構的深度,此過程可能需要幾秒鐘或更長時間。生成的列表提供了資料夾內容的詳細視圖。

a screenshot of the seleted folder
a screenshot of an arrow
a screenshot listing all filenames from the selected folder and its subfolders

如果收到錯誤消息,請仔細檢查所選資料夾是否存在且包含檔案,並確保在 Excel 安全設置中已啟用宏。如果您正在處理大型資料夾結構或網絡驅動器,處理時間可能會增加,您可能會收到超時或內存錯誤——如果這樣的話,請嘗試在較小的子資料夾上運行宏。

儘管 VBA 在基本檔案列表方面效率很高,但它通常不會默認捕獲檔案大小、修改日期或檔案擁有者等屬性。如果您需要這些額外的詳細信息,請考慮編輯程式碼或使用以下描述的替代方法。


為了獲得最佳結果,應定期檢查和更新您的檔案列表,特別是當資料夾內容頻繁變更時。始終確認您擁有必要的權限,尤其是在掃描網絡位置或共享驅動器時。如果遇到意外結果,請檢查是否有隱藏檔案、同步延遲或檔案訪問限制等問題。如果某些檔案或資料夾被跳過,請嘗試以管理員身份運行 Excel 或使用簡化的資料夾結構。

選擇最佳方法取決於您的熟練程度、特定要求以及執行此任務的頻率。每種方法都有其優勢——您可以使用 VBA 進行自訂、使用 Kutools 提供便利性和更多屬性,或者使用 Windows/Excel 內建功能作為最簡單的解決方案而無需外部工具。如果問題持續存在,請查閱 Excel 或系統文檔以獲取更多故障排除建議。

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用