VB6中遍历所有文件夹的名称

この記事では、VBAを使用して指定したパス内のすべてのサブフォルダを再帰的に検索し、データファイルの位置をリスト化する関数を紹介します。この関数は、ディレクトリ構造を理解し、ファイルシステムオブジェクトを操作するために使用されます。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'******************************************************************************
' @(s)
'
' 機能       :データファイルのディレクトリを全て検索する
'
' 返り値     : なし
'
' 引き数     : なし
'
' 備考
'******************************************************************************
Public Function File_Folder_List(ByVal sPath As String) As Integer
    Dim item As String
    Dim Fso As FileSystemObject
    Dim Fol     As Object
    Dim Fil     As Object
    Dim iRet As Integer
    Dim DisFileName     As String
   
    On Error GoTo err_msg
   
    File_Folder_List = -1
   
    If sPath = "" Then
        Exit Function
    End If
     
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set Fol = Fso.GetFolder(sPath)

   
    item = Dir(sPath, vbDirectory)
   
    While Len(item) > 0
        If item <> "." And item <> ".." Then
            If (GetAttr(sPath) And vbDirectory) = vbDirectory Then
                If Fol.SubFolders.Count = 0 Then
                  P_szFolders(UBound(P_szFolders)) = sPath
                  ReDim Preserve P_szFolders(UBound(P_szFolders) + 1)
                  Debug.Print sPath
                End If
            End If
        End If
        item = Dir
    Wend
   
    If Fol.SubFolders.Count <> 0 Then
        For Each Fol In Fol.SubFolders
            iRet = File_Folder_List(Fol)
        Next
    End If

    File_Folder_List = 0
    Exit Function
err_msg:
    sPath = ""
    File_Folder_List = -1
End Function

转载于:https://www.cnblogs.com/sanwasou/archive/2010/01/21/1653483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值