Dim ss As String
Dim Count As Integer
ss = Dir("*.exe")
While ss <> vbNullString
    Count = Count + 1
    ss = Dir()
Wend
'Text1.Text = CStr(Count)

解决方案 »

  1.   

    把下面的例子中的路径和通配符改一下就行了。'声明API
    Private Const INVALID_HANDLE_VALUE = -1
    Private Const MAX_PATH = 260
    '关闭查找
    Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
    '查找第一个符合条件的文件
    Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
    '查找下一个符合条件的文件
    Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
    Private str_LogFName() As String    '存放错误日志文件名的数组
    '查找错误日志文件
    Private Sub sub_FindLog()
        On Error GoTo doError
        Dim int_Maxcount As Integer '错误日志文件的个数
        Dim int_End As Integer  '结束符(chr(0))的位置
        Dim lRet As Long        '调用API后的返回值
        Dim lFileData As WIN32_FIND_DATA    '存储API的调用结果
        
        ReDim str_LogFName(0) As String
        int_Maxcount = UBound(str_LogFName)
        '查找第一个文件
        lRet = FindFirstFile(App.Path & "\log\*.err", lFileData)
        If lRet <> INVALID_HANDLE_VALUE Then    '如果找到文件的话
            Do
                '重新定义数组
                If int_Maxcount = 0 Then
                    ReDim str_LogFName(1 To 1) As String
                Else
                    ReDim Preserve str_LogFName(1 To int_Maxcount + 1) As String
                End If
                int_Maxcount = int_Maxcount + 1
                int_End = InStr(1, lFileData.cFileName, Chr(0))
                '获取文件名
                str_LogFName(int_Maxcount) = Left$(lFileData.cFileName, int_End - 1)
            Loop While FindNextFile(lRet, lFileData)    '查找下一个文件
            lRet = FindClose(lRet)  '查找结束时,关闭查找
        End If
        Exit Sub
    doError:
        msgbox rr.Description
    End Sub
      

  2.   

    Dim sFile as StringsFile = Dir(yourPath & "\*.exe")do until sFile=""
    sFile = Mid(sFile, InstrRev(sFile,"\")+1) 'Get Filename
    list1.add sFile
    sFile = dir
    Loop说明Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。