在 Excel 工作表中遞歸列出 Windows 文件夾中所有文件的 3 種快速方法

立即分享:

許多用戶需要在 Excel 工作表中快速列出 Windows 文件夾中的所有文件及其所有子文件夾。 因此,在本文中,我們將為您介紹3種快速實現方法。

如果您想在 Excel 工作表中遞歸列出 Windows 文件夾中的所有文件,您肯定不喜歡手動將文件名複製到 Excel。 無疑,這太繁瑣、太耗時。 因此,在這裡我們將教您3種更智能、更方便的方法

方法 1:通過 Firefox 或 Google Chrome 列出 Windows 文件夾中的文件

  1. 首先,在 Windows 資源管理器中,訪問特定的 Windows 文件夾並複製文件夾路徑。複製文件夾路徑
  2. 然後,啟動 Firefox 或 Google Chrome。
  3. 接下來,將復制的文件夾路徑粘貼到 Internet 瀏覽器的地址欄中。
  4. 之後,按“Enter”鍵。
  5. 立即,該 Windows 文件夾中的所有文件都將在瀏覽器中列出。Firefox 中列出的文件
  6. 然後,按“Ctrl + A”選擇所有內容,然後按“Ctrl + C”複製它們。
  7. 最後,將它們粘貼到 Excel 工作表中。將復制的列出文件從 Firefox 粘貼到 Excel

方法 2:通過“名稱管理器”列出 Windows 文件夾中的文件

  1. 首先,創建一個新的 Excel 工作表。
  2. 然後,選擇單元格 A1。
  3. 接下來,轉到“公式”選項卡,然後單擊“名稱管理器”按鈕。
  4. 在彈出的對話框中,單擊“新建”按鈕。姓名經理
  5. 隨後,在下一個對話框中,在“名稱”字段中輸入“文件”。
  6. 並將“引用:”字段中的“=Sheet1!$A$1”更改為“=FILES(Sheet1!$A$1)”。新名字
  7. 然後,單擊“確定”並關閉“名稱管理器”對話框。
  8. 稍後,複製單元格 A1 中的 Windows 文件夾路徑並添加“\*”在路徑的末尾。在單元格 A1 中輸入文件夾路徑
  9. 接下來,選擇單元格 A3 並輸入函數“=INDEX(Files,ROW()-2)”。單元格 A3 中的輸入函數
  10. 立即會列出此 Windows 文件夾中的一個文件,如下圖所示。列出文件
  11. 最後,只需將此函數複製到幾行即可列出其他文件,直到看到“#REF!” 錯誤。 該錯誤意味著所有文件都已列出。將函數向下複製幾行,直到看到錯誤

方法 3:通過 Excel VBA 遞歸列出 Windows 文件夾中的文件

  1. 首先,建立一個新的 Excel 檔案。
  2. 接下來,參考“訪問Excel VBA編輯器”如何在Excel中運行VBA代碼“。
  3. 然後,將以下代碼複製到“ThisWorkbook”項目中。
Sub BatchListAllFiles_FolderSubfolders()
    Dim strWindowsFolder As String
 
    'Select the source Windows folder
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder to list Files from"
        .InitialFileName = "E:\"
        .Show
        If .SelectedItems.Count > 0 Then
           strWindowsFolder = .SelectedItems(1) & "\"
        End If
    End With
 
    With ActiveSheet
         .Cells(1, 1) = "Name"
         .Cells(1, 1).Font.Bold = True
         .Cells(1, 2) = "Path"
         .Cells(1, 2).Font.Bold = True
         .Cells(1, 3) = "Size(Bytes)"
         .Cells(1, 3).Font.Bold = True
         .Cells(1, 4) = "Type"
         .Cells(1, 4).Font.Bold = True
         .Cells(1, 5) = "Created"
         .Cells(1, 5).Font.Bold = True
    End With
 
    Call LoopFolders(strWindowsFolder)
End Sub

Sub LoopFolders(strFolderPath As String)
    Dim objFileSystem As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim nLastRow As Integer
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSystem.GetFolder(strFolderPath)
 
    For Each objFile In objFolder.Files
        With ActiveSheet
            nLastRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
            .Range("A" & nLastRow) = objFile.Name
            .Range("B" & nLastRow) = objFile.Path
            .Range("C" & nLastRow) = objFile.Size
            .Range("D" & nLastRow) = objFile.Type
            .Range("E" & nLastRow) = objFile.DateCreated
            .Columns("A:E").AutoFit
       End With
    Next
 
    'Process all folders and subfolders recursively
    If objFolder.SubFolders.Count > 0 Then
       For Each objSubFolder In objFolder.SubFolders
           'Skip the system and hidden folders
           If ((objSubFolder.Attributes And 2) = 0) And ((objSubFolder.Attributes And 4) = 0) Then
              LoopFolders (objSubFolder.Path)
           End If
       Next
    End If
End Sub

VBA 代碼 - 遞歸列出 Windows 文件夾中的文件

  1. 現在,單擊進入第一個子例程並按“F5”鍵。
  2. 在彈出的對話框中,導航到並選擇要從中列出文件的 Windows 文件夾,然後單擊“確定”。選擇“文件夾”
  3. 最後,當宏完成時,返回到 Excel 工作表。 Windows文件夾及其子文件夾中的所有文件均已列出,如下圖所示。Excel 中列出的文件

Excel 有時會崩潰

與其他軟體一樣,Excel 偶爾也會崩潰,這可能會直接導致目前開啟的 Excel 檔案遺失。在這種情況下,大多數使用者都希望 Excel 能在重新啟動後自動恢復檔案。然而,實際情況往往並非如此。這時,就必須求助於… Excel修復 工具,例如 DataNumen Excel Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 恢復mdf 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。