источник https://www.planetaexcel.ru/techniques/3/45/
Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку
Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """)"
Sub FileList()    Dim V As String    Dim BrowseFolder As String         'открываем диалоговое окно выбора папки    With Application.FileDialog(msoFileDialogFolderPicker)        .Title = "Выберите папку или диск"        .Show        On Error Resume Next        Err.Clear        V = .SelectedItems(1)        If Err.Number <> 0 Then            MsgBox "Вы ничего не выбрали!"            Exit Sub        End If    End With    BrowseFolder = CStr(V)         'добавляем лист и выводим на него шапку таблицы    ActiveWorkbook.Sheets.Add    With Range("A1:E1")        .Font.Bold = True        .Font.Size = 12    End With    Range("A1").Value = "Имя файла"    Range("B1").Value = "Путь"    Range("C1").Value = "Размер"    Range("D1").Value = "Дата создания"    Range("E1").Value = "Дата изменения"         'вызываем процедуру вывода списка файлов    'измените True на False, если не нужно выводить файлы из вложенных папок    ListFilesInFolder BrowseFolder, TrueEnd SubPrivate Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean)    Dim FSO As Object    Dim SourceFolder As Object    Dim SubFolder As Object    Dim FileItem As Object    Dim r As Long    Set FSO = CreateObject("Scripting.FileSystemObject")    Set SourceFolder = FSO.getfolder(SourceFolderName)    r = Range("A65536").End(xlUp).Row + 1   'находим первую пустую строку    'выводим данные по файлу    For Each FileItem In SourceFolder.Files        Cells(r, 1).Formula = FileItem.Name        Cells(r, 2).Formula = FileItem.Path        Cells(r, 3).Formula = FileItem.Size        Cells(r, 4).Formula = FileItem.DateCreated        Cells(r, 5).Formula = FileItem.DateLastModified        r = r + 1        X = SourceFolder.Path    Next FileItem         'вызываем процедуру повторно для каждой вложенной папки    If IncludeSubfolders Then        For Each SubFolder In SourceFolder.SubFolders            ListFilesInFolder SubFolder.Path, True        Next SubFolder    End If    Columns("A:E").AutoFit    Set FileItem = Nothing    Set SourceFolder = Nothing    Set FSO = NothingEnd SubЕсли захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку
Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """)"
Комментариев нет:
Отправить комментарий