获取vba中的子目录列表。我想要一个目录中所有子目录的列表。如果可以的话,我想将它扩展为递归函数。然而,我最初获得子目录的方法失败了。它只显示包括文件在内的所有内容:sDir = Dir(sPath, vbDirectory)Do Until LenB(sDir) = 0
Debug.Print sDir
sDir = DirLoop列表以“.”开头和几个文件夹并以‘.txt’文件结尾。编辑:我要补充的是,这必须在Word中运行,而不是在Excel中运行(许多函数在Word中是不可用的),而且它是Office 2010。编辑2:可以使用iAtt = GetAttr(sPath & sDir)If CBool(iAtt And vbDirectory) Then
...End If但这给我带来了新的问题,所以我现在使用基于Scripting.FileSystemObject.
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
Sub listfolders(startfolder)''Reference Windows Script Host Object Model''If you prefer, just Dim everything as Object''and use CreateObject("Scripting.FileSystemObject")Dim fs As New FileSystemObjectDim fl1 As FolderDim fl2 As FolderSet fl1 = fs.GetFolder(startfolder)For Each fl2 In fl1.SubFolders Debug.Print fl2.Path listfolders fl2.PathNextEnd Sub
添加回答
举报
0/150
提交
取消