areh писал(а):ты уточни, надо ли тебе сохранить структуру, или же просто все имена файлов нужны?
Dim FileList() As String
Sub GetFileList(ByVal Folder As String, ByVal SearchPattern As String)
Dim tmpArr() As String = IO.Directory.GetFiles(Folder, SearchPattern)
Dim OffSet As Integer
Dim i As Integer
If FileList Is Nothing Then
ReDim FileList(tmpArr.GetUpperBound(0))
Else
OffSet = FileList.GetUpperBound(0) + 1
ReDim Preserve FileList(OffSet + tmpArr.GetUpperBound(0))
End If
For i = 0 To tmpArr.GetUpperBound(0)
FileList(OffSet + i) = tmpArr(i)
Next
tmpArr = IO.Directory.GetDirectories(Folder)
For i = 0 To tmpArr.GetUpperBound(0)
GetFileList(tmpArr(i), SearchPattern)
Next
End Sub
Public Sub Main()
Dim fso As New Scripting.FileSystemObject
PrintChilds fso.GetFolder("C:\Program Files")
End Sub
Private Sub PrintChilds(ff As Scripting.Folder)
Dim f As Scripting.File, fo As Scripting.Folder
For Each f In ff.Files
Debug.Print f.Path
Next f
For Each fo In ff.SubFolders
Debug.Print fo.Path
PrintChilds fo
Next fo
End Sub
Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 7