VB查找指定路径中的文件和目录列表

PublicFunction funFindDirectory(ByVal strDir As String, Optional vMode As Long =vbDirectory) As Integer
   Dim vFileNames As String
   Dim vLoop As Integer
   Dim vFileAttr As FILEATTRIB
   
  varFileCount = 0
   varDirCount = 0
  
   On Error GoTo lopErr
   
  If strDir = "" Then
     strDir = varCurrentPath
   End If
   
  If Right(Trim(strDir), 1) <>"\" Then
       strDir = Trim(strDir) &"\"
   End If
   strDir = UCase(strDir)
   
  vFileNames = Dir(strDir, vMode)
   ReDim Preserve vFiles(11)
   ReDim Preserve vDirectories(11)
   Err.Clear
   Do While vFileNames <>""
       varCurrentPath = strDir
       If vFileNames <>"." And vFileNames<>".." Then
         If (GetAttr(strDir&vFileNames) And vbDirectory) = vbDirectory Then
           If varDirCount Mod10 = 0 Then
              ReDimPreserve vDirectories(varDirCount + 10)
              DoEvents
           End If
           funGetFileAttribstrDir &vFileNames, vDirectories(varDirCount)
           varDirCount =varDirCount + 1
         Else
           If varFileCountMod 10 = 0 Then
              ReDimPreserve vFiles(varFileCount + 10)
              DoEvents
           End If
           funGetFileAttribstrDir &vFileNames, vFiles(varFileCount)
           varFileCount =varFileCount + 1
         End If
       End If
lopErr:
       vFileNames = Dir(, vbAlias)
   Loop
   funQuickSortFile vDirectories(), 0, varDirCount - 1
   funQuickSortFile vFiles(), 0, varFileCount - 1
   Exit Function
   'vErrorMessage = "File Not Found."
End Function


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值