3 быстрых метода для рекурсивного списка всех файлов в папке Windows на листе Excel

Поделись сейчас:

Многим пользователям необходимо быстро составить список всех файлов в папке Windows и всех ее подпапках на листе Excel. Поэтому в этой статье мы представим вам 3 быстрых способа реализовать это.

Если вы хотите рекурсивно перечислить все файлы в папке Windows на листе Excel, вам наверняка не понравится копировать имена файлов в Excel вручную. Несомненно, это слишком утомительно и требует много времени. Следовательно, здесь мы научим вас 3 гораздо более умным и удобным подходам.

Способ 1: список файлов в папке Windows через Firefox или Google Chrome

  1. Прежде всего, в проводнике Windows откройте определенную папку Windows и скопируйте путь к папке.Копировать путь к папке
  2. Затем запустите Firefox или Google Chrome.
  3. Затем вставьте скопированный путь к папке в адресную строку интернет-браузера.
  4. После этого нажмите клавишу «Ввод».
  5. Сразу все файлы в этой папке Windows будут перечислены в браузере.Перечисленные файлы в Firefox
  6. Затем нажмите «Ctrl + A», чтобы выделить все содержимое, и «Ctrl + C», чтобы скопировать его.
  7. Наконец, вставьте их на лист Excel.Вставить скопированные файлы из списка из Firefox в Excel

Способ 2: список файлов в папке Windows через «Диспетчер имен»

  1. Сначала создайте новый лист Excel.
  2. Затем выберите ячейку A1.
  3. Затем перейдите на вкладку «Формулы» и нажмите кнопку «Диспетчер имен».
  4. Во всплывающем диалоговом окне нажмите кнопку «Создать».Имя Менеджер
  5. Затем в следующем диалоговом окне введите «Файлы» в поле «Имя».
  6. И измените «=Лист1!$A$1» на «=ФАЙЛЫ(Лист1!$A$1)» в поле «Относится к:».Новое имя
  7. После этого нажмите «ОК» и закройте диалоговое окно «Диспетчер имен».
  8. Позже скопируйте путь к папке Windows в ячейку A1 и добавьте «\*» в конце пути.Введите путь к папке в ячейке A1
  9. Затем выберите ячейку A3 и введите функцию «=INDEX(Files,ROW()-2)».Функция ввода в ячейке A3
  10. Сразу же будет указан файл в этой папке Windows, как показано на следующем изображении.Файл попадает в список
  11. Наконец, просто скопируйте эту функцию на несколько строк вниз, чтобы вывести список других файлов, пока не увидите надпись «#REF!» ошибка. Ошибка означает, что все файлы были перечислены.Функция копирования вниз на несколько строк, пока не появится ошибка

Способ 3: рекурсивный список файлов в папке Windows через Excel VBA

  1. Для начала создайте новый файл Excel.
  2. Затем откройте редактор Excel VBA со ссылкой на «Как запустить код VBA в вашем Excel».
  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.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.