Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/198: Рейтинг темы: голосов - 198, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 01.09.2012
Сообщений: 18

Получить список всех поддиректорий в указанном каталоге

02.09.2012, 12:55. Показов 40892. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите создать список подпапок в текущей папке. Мой код не помогает
Visual Basic
1
2
3
Dim a
a = Dir(CurDir, vbDirectory)
MsgBox a
 Комментарий модератора 
Код следует не раскрашивать, а выделять тегом ([VB] в нашем случае)

Выдаёт в ответ текущую папку, а мне нужны подпапки. Что делать?
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.09.2012, 12:55
Ответы с готовыми решениями:

Получить список файлов в указанном каталоге
Как получить список файлов в указаном каталоге? И находить файлы с указаным расширением или именем? Пример: В каталоге D:\test...

Вывести список всех папок и подпапок в указанном каталоге
Помогите пожалуйста вывести все подпапки. Я сделал так: static void DirInfo(string way2) { DirectoryInfo dir = new...

Получить список всех файлов в каталоге и его подкаталогах
Привет всем, не знаю как получить список всех файлов в папке и ее подпапках. Хочу посчитать эти файлы и потом копировать с прогрессбаром,...

27
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
13.03.2014, 13:51
Студворк — интернет-сервис помощи студентам
А как узнать существут ли папка, например: "D:\x"
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
13.03.2014, 14:02
Visual Basic
1
2
3
4
D = Dir("D:\x", vbDirectory)
if D <> "" then
  If GetAttr("D:\x") And vbDirectory Then msgbox "существует"
endif
1
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
13.03.2014, 14:06
....и ещё вопросик , как открыть эту папку?
0
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
13.03.2014, 14:08
Цитата Сообщение от iv_roman_vl Посмотреть сообщение
открыть эту папку
Что имеется ввиду?
0
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 66
13.03.2014, 14:12
ну то есть, я нашел эту папку....и мне надо её открыть(ну виндовсое окно открылось с содержимом этой папки)



.............разобрался
Как из Excel открыть папку с файлами Word
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.03.2014, 08:04
Что-то не увидел примера рекурсии без FSO, одним Dir. Лень писать руками, завтра сделаю копипаст. Вкратце: перебор в цикле каталога, формирование массива подпапок каталога в этом цикле, после прохода папки цикл do while по массиву с рекурсивным вызовом. По другому без массива или строки-списка подпапок не получается, так как Dir при вызове изменяет Current Dir и сбивает нормальный обход в рекурсии.

Добавлено через 7 часов 1 минуту
Рекурсия с Dir. Обход папок и просмотр файлов.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Option Explicit
 
Sub Test()
    Call Get_DirS("D:\test\")
End Sub
 
Private Sub Get_DirS(path As String)
    Dim a() As String, D As String, U As Long, i As Long, ps As String
    
    ' Вывод каталогов
    Debug.Print path
    
    ps = Application.PathSeparator
    D = Dir(path, vbNormal Or vbDirectory)
    U = 0
    Do While D <> ""
        If GetAttr(path & D) And vbDirectory Then
            If D <> "." And D <> ".." Then
                ReDim Preserve a(U)
                a(U) = D
                U = U + 1
            End If
        Else
            ' Вывод файлов
            ' Debug.Print path & D
        End If
        D = Dir
    Loop
    
    i = 0
    Do While i < U
        Call Get_DirS(path & a(i) & ps) ' Рекурсия
        i = i + 1
    Loop
End Sub
1
 Аватар для Апострофф
9908 / 3928 / 742
Регистрация: 11.10.2011
Сообщений: 5,908
14.03.2014, 08:47
Цитата Сообщение от mc-black Посмотреть сообщение
Что-то не увидел примера рекурсии без FSO, одним Dir
Вот же он:)
2
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.03.2014, 10:14
Цитата Сообщение от Апострофф Посмотреть сообщение
Вот же он
Точно. У Catstail стек организован программный, у меня стек вызовов - системный с динамическими массивами внутри кадров стека.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2014, 10:14
Помогаю со студенческими работами здесь

Получить список всех файлов в каталоге и подкаталогах с путями
Добрго времени суток. Короче есть debian как на нем получить список всех файлов в каталоге и подкаталогах с путями типа: Имя папки/имя...

Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате
Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном формате. XML записать в директорию рядом с...

Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате
Задача: Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном формате. XML записать в директорию...

Список файлов в указанном каталоге
Использую функцию FindFirstFile: hf = FindFirstFile(L&quot;c:\\folder\\*&quot;, &amp;FindFileData); Такой вопрос: как вместо...

Запуск всех исполняемых файлов в указанном в каталоге
Запуск всех исполняемых файлов в указанном в каталоге. Каталог вводится в качестве параметра. Учесть возможность рекурсии когда запускаемый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru