Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение папок / 6 сообщений из 6, страница 1 из 1
15.12.2006, 05:29
    #34201609
dim-man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение папок
подскажите пожалуйста как в папке(путь известен), считать имеHа вложенных в нее папок
делаю на EXCEL!
...
Рейтинг: 0 / 0
15.12.2006, 06:42
    #34201643
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение папок
Чтение вложенных папок?
...
Рейтинг: 0 / 0
15.12.2006, 07:09
    #34201663
dim-man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение папок
orunbekЧтение вложенных папок?
да считать имена вложенных папок!
...
Рейтинг: 0 / 0
15.12.2006, 09:16
    #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
15.12.2006, 11:06
    #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
16.12.2006, 19:01
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / чтение папок / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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