Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2011, 10:27   #1
Molotoklk
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 36
По умолчанию Создать список файлов

Доброго времени суток!
Прошу прощения, если моя тема изъезжена и затерта до дыр.
Есть задача создать список папок и вложенных в них файлов из выбранной директории. Подскажите, как это можно сделать?

Последний раз редактировалось Molotoklk; 26.09.2011 в 12:06.
Molotoklk вне форума Ответить с цитированием
Старый 26.09.2011, 16:37   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Прошу прощения, если моя тема изъезжена и затерта до дыр.

Именно так. Погуглите по "список файлов".
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.09.2011, 17:05   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

Рекурсия - файлов поиск в папке и подпапках
Код:
Sub Main()
'Выбор папки, в которой нужно просмотреть все
'файлы Excel, которые также содержатся и в подпапках.
Dim Папка As String
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Выберите папку"
    .ButtonName = "OK"
    .AllowMultiSelect = False
    If .Show = -1 Then
        Call P1(.SelectedItems(1) & "\")
    End If
End With
End Sub

Sub P1(Путь As String)
Dim MyName As String, DirList() As String
Dim i As Long, j As Long
Dim Флаг As Boolean
MyName = Dir(Путь, vbDirectory)
Do While MyName <> ""
    If MyName <> "." And MyName <> ".." Then
        'Запись в массив всех папок в текущей папке.
        'Затем будем кажду папку просматривать.
        If GetAttr(Путь & MyName) = vbDirectory Then
            i = i + 1
            ReDim Preserve DirList(1 To i)
            DirList(i) = Путь & MyName & "\"
            Debug.Print DirList(i)
            Флаг = True
        'Если это не папка, то смотрим, что за формат файла.
        'Если нужный, то произведём действия.
ElseIf MyName Like "*.xls" Or MyName Like "*.xlsx" Or MyName Like "*.xlsm" Then
            Debug.Print Путь & MyName
        End If
    End If
    MyName = Dir
Loop
If Флаг = True Then
    'Просмотр вложенных папок.
    For j = 1 To UBound(DirList) Step 1
        Call P1(DirList(j))
    Next j
End If
End Sub
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.09.2011, 00:24   #4
Molotoklk
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 36
По умолчанию

Спасибо большое) Подскажите это отдельная функция или она вставляется в какой-то модуль?
Molotoklk вне форума Ответить с цитированием
Старый 27.09.2011, 14:50   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

как душе угодно
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать список... Mik7 Помощь студентам 7 14.03.2011 12:09
как создать список файлов? c++ learner Общие вопросы C/C++ 3 28.11.2010 19:24
Создать список. Last Общие вопросы C/C++ 2 25.10.2010 11:58
создать список DeDoK Общие вопросы Delphi 2 13.08.2010 01:32
Приложение которое выводит список файлов текущего каталога и при клике на любом из файлов откроет его. LimanSSk Общие вопросы Delphi 2 18.05.2009 16:03