powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение папок
6 сообщений из 6, страница 1 из 1
чтение папок
    #34201609
dim-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите пожалуйста как в папке(путь известен), считать имеHа вложенных в нее папок
делаю на EXCEL!
...
Рейтинг: 0 / 0
чтение папок
    #34201643
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтение вложенных папок?
...
Рейтинг: 0 / 0
чтение папок
    #34201663
dim-man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orunbekЧтение вложенных папок?
да считать имена вложенных папок!
...
Рейтинг: 0 / 0
чтение папок
    #34201811
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример из справочника Климова.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
' Нижеприведённый кусок кода 
' отобразит в окне Immediate список папок 
' в корневой директории на диске С 

MyPath = "C:\" 
MyName = Dir(MyPath, vbDirectory)
' Возвратит первую директорию.
Do While MyName <> "" ' Начало цикла
' Игнорируем текущую директорию или заключительную
If MyName <> "." And MyName <> ".." Then
' Используем битовое сравнение, чтобы определить 
' что MyName есть директория (а не файл).
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Отобразим в окне Immediate MyName
End If
End If
MyName = Dir.
Loop
...
Рейтинг: 0 / 0
чтение папок
    #34202203
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще через FileSystemObject рекурсией

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim objFSO As Object

Sub PrintFolders(strFolderPath)
      Dim objFolder As Object,objSubFolder As Object
      Set objFolder=objFSO.GetFolder(strFolderPath)
      For Each objSubFolder in objFolder.SubFolders
            MsgBox objSubFolder.Name
            If objSubFolder.SubFolders.Count> 0  Then PrintFolders objSubFolder.Path
      Next
      Set objFolder=Nothing
End Sub

Sub Main
      Set objFSO=CreateObject("Scripting.FileSystemObject")
      PrintFolders "C:\"
End Sub

Вроде этого, код не проверен, на память был записан. Ну... общий смысл такой
...
Рейтинг: 0 / 0
чтение папок
    #34205121
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и на API для полноты коллекции :)

Код: plaintext
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.
Dim FindFile() As String
Dim CountFindFile

Private Sub GetDirInDir2(Source As String, SubDir As Boolean)
'Возвращает в массив список папок в заданной папке
Dim objName As String
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Integer
If Right(Source,  1 ) <> "\" Then Source = Source & "\"
    Cont = True
    hSearch = FindFirstFile(Source & "*", WFD)
    If hSearch <> INVALID_HANDLE_VALUE Then
        Do While Cont
            objName = Left(WFD.cFileName, InStr(WFD.cFileName, Chr( 0 )) -  1 )
            If Not (objName = "." Or objName = "..") Then
                If Not (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) =  0  Then
                    If objName <> Spliting(Source, "\") Then
                        FindFile$(CountFindFile) = Source & objName
                        CountFindFile = CountFindFile +  1 
                        ReDim Preserve FindFile$(CountFindFile)
                        If SubDir = True Then GetDirInDir2 Source & objName & "\", SubDir
                    End If
                    
                End If
            End If
           Cont = FindNextFile(hSearch, WFD)
        Loop
        Cont = FindClose(hSearch)
    End If
End Sub
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение папок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]