Я пытаюсь составить здесь список каталогов моего диска с включенными каталогами, подкаталогами/папками и файлами. Он также показывает имя файла, путь к файлу, дату и размер. В настоящее время я использую этот код:
Dim iRow
Sub ListFiles()
iRow = 11 'starting row listing
Call ListMyFiles(Range("B5"), Range("B6"))
End Sub
Sub ListMyFiles(mySourcePath, IncludeSubfolders)
Set MyObject = New Scripting.FileSystemObject
Set mySource = MyObject.GetFolder(mySourcePath)
On Error Resume Next
For Each myFile In mySource.Files
iCol = 3
Cells(iRow, iCol).Value = myFile.Path
iCol = iCol + 1
Cells(iRow, iCol).Value = myFile.Name
iCol = iCol + 1
Cells(iRow, iCol).Value = myFile.Size
iCol = iCol + 1
Cells(iRow, iCol).Value = myFile.DateLastModified
iRow = iRow + 1
Next
If IncludeSubfolders Then
For Each mySubFolder In mySource.SubFolders
Call ListMyFiles(mySource.Path, True)
Next
End If
End Sub
Всякий раз, когда я ввожу адрес, он работает нормально, но когда я решаю включить подпапки, он выходит из строя! Это просто зацикливается и продолжается вечно. Это просто не останавливается. Я не знаю, где искать ошибку. Я продолжаю перечитывать это, и кажется, что все в порядке, но, может быть, это только я. Кроме того, я поставил галочку на Microsoft Scripting Runtime для записи. А еще, я думаю, мне все еще чего-то здесь не хватает, потому что я также хотел показать имена папок, если это возможно.
Этот вопрос может быть не ясен или может быть уже продублирован, поэтому дайте мне знать. Благодарю вас!
P.S. Типа новичок здесь.
Call ListMyFiles(mySource.Path, True)
для подпапокCall ListMyFiles(mySubFolder.Path, True)
- person Flakes   schedule 28.01.2015