Блог Работа с файлами и папками в excel

Получить список файлов в папке excel

maxim goryaninov
23 Янв 2015

Получить список файлов в папке excel

Скачать пример

Здравствуйте, дорогие друзья!

В данном занятии я расскажу, как получить список файлов в папке с помощию процедуры, написанной на vba в excel. В начале и в конце статьи Вы сможете найти ссылку и скачать практический пример с кодом процедуры.

Дано — путь к папке, которая содержит произвольное количество файлов любого типа.
Задача — вывести список файлов папки в столбец «А» рабочего листа excel.
Получить список файлов в папке excel
Данную задачу можно решить с помощью следующей простой процедуры «SortFiles», код которой приведен ниже:

Sub SortFiles(ByVal path As String, ByRef TempArr() As String)
 Dim FName As String
 Dim i As Integer
 i = 1
 FName = Dir(path, vbNormal)
 Do While FName <> ""
 ReDim Preserve TempArr(1 To i) As String
 TempArr(i) = FName
 FName = Dir
 i = i + 1
 Loop
End Sub

Процедура имеет 2 строковых аргумента: path — через который мы передаем путь к папке и TempArr() — массив — список файлов в папке.
Проверить работу процедуры можно с помощью следующего вызова:

Sub Call_SortFiles()
 Dim TempArr() As String
 Dim path As String
 Dim ind As Integer, max_ind As Integer
 
  path = Range("A1").Value
  Call SortFiles(path, TempArr)
 
  On Error Resume Next
  max_ind = UBound(TempArr)
  If Err.Number = 0 Then
    For ind = 1 To max_ind
      Range("A" & ind + 1).Value = TempArr(ind)
    Next ind
  Else
    Range("A2").Value = "Папка пуста!"
    Err.Clear
  End If
  On Error GoTo 0
 
End Sub


В процедуре «Call_SortFiles» происходит вызов «SortFiles» с передачей обоих параметров. Путь к папке берется из ячейки «A1″ рабочего листа excel. После возвращения процедурой «SortFiles» результирующего массива TempArr, его содержимое выводится на рабочий лист excel, начиная с ячейки «B1″. Таким образом мы решаем поставленную задачу.

Спасибо за внимание, друзья! Оставляйте комментарии ниже, скачивайте процедуру, пользуйтесь, надеюсь, что смог Вам помочь!

Скачать пример

Также смотрите Табель учета рабочего времени в excel

Оставить комментарий