Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
陷入困境。使用excelvba的目录列表_Vba_Loops_Excel_Filesystemobject - Fatal编程技术网

陷入困境。使用excelvba的目录列表

陷入困境。使用excelvba的目录列表,vba,loops,excel,filesystemobject,Vba,Loops,Excel,Filesystemobject,我试图在这里列出我的驱动器的目录列表,包括目录、子目录/文件夹和文件。它还显示文件名、文件路径、日期和大小。 我目前正在使用以下代码: Dim iRow Sub ListFiles() iRow = 11 'starting row listing Call ListMyFiles(Range("B5"), Range("B6")) End Sub Sub ListMyFiles(mySourcePath, IncludeSubfolders) Set MyObjec

我试图在这里列出我的驱动器的目录列表,包括目录、子目录/文件夹和文件。它还显示文件名、文件路径、日期和大小。 我目前正在使用以下代码:

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脚本运行时作为记录。 而且,我认为我仍然缺少一些东西,因为我还想显示文件夹名称,如果可能的话

这个问题可能不清楚,或者可能已经重复,所以请告诉我。谢谢大家!

附言。
有点像新手

传递给子文件夹列表函数的路径值错误

应该是:


调用ListMyFiles(mySubFolder.Path,True)

这可能会有帮助:对于子文件夹soh,
调用ListMyFiles(mySource.Path,True)
应该是
调用ListMyFiles(mySubFolder.Path,True)
。哦,对了!成功了。我没注意到那个。永远的循环停止了。谢谢。@SearchAndResQ将此作为回答,而不是评论。