Страницы: 1
RSS
Список файлов с расширением xlsx
 
Здравствуйте, уважаемые профессионалы и любители!
На просторах этого сайта очень много информации по этой теме. Здесь же я и скачал код, который уже подправил под свои нужды (просто укоротил немного). Данный макрос создаёт список файлов в папке, которую ему укажут в диалоге. Однако в этой папке находятся файлы с различными расширениями, в том числе и xlsx. Подскажите, люди добрые, что и куда нужно добавить в код, чтобы получался список только из тех файлов, которые имеют расширение xlsx. Я честно пытался сделать сам, но ничего не получилось.
Файл с макросом прилагаю.
Заранее спасибо!
 
Используйте эту функцию
http://excelvba.ru/code/FilenamesCollection

Пример использования функции в макросе:
обратите внимание на строку Set coll = FilenamesCollection(folder$, "*.xlsx")  ' получаем список файлов XLSX из папки
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub ОбработкаФайловИзПапки()
    On Error Resume Next
    Dim folder$, coll As Collection
  
    folder$ = ThisWorkbook.Path & "\Платежи\"
    If Dir(folder$, vbDirectory) = "" Then
        MsgBox "Не найдена папка «" & folder$ & "»", vbCritical, "Нет папки ПЛАТЕЖИ"
        Exit Sub        ' выход, если папка не найдена
    End If
  
    Set coll = FilenamesCollection(folder$, "*.xlsx")        ' получаем список файлов XLSX из папки
    If coll.Count = 0 Then
        MsgBox "В папке «" & Split(folder$, "\")(UBound(Split(folder$, "\")) - 1) & "» нет ни одного подходящего файла!", _
               vbCritical, "Файлы для обработки не найдены"
        Exit Sub        ' выход, если нет файлов
    End If
  
    ' перебираем все найденные файлы
    For Each file In coll
        Debug.Print file        ' выводим имя файла в окно Immediate
    Next
End Sub
 
Не работает. Выделяет именно эту строку Set coll = FilenamesCollection(folder$, "*.xlsx")  
 
потому что код функции FilenamesCollection из статьи тоже надо скопировать в ваш файл
Страницы: 1
Читают тему
Наверх
Loading...