'add reference to Microsoft Scripting Runtime
Private Sub main()
MsgBox CountFiles("c:\")
MsgBox CountFiles("c:\", "txt")
End Sub
Private Function CountFiles(ByVal folderPath As String, Optional ByVal fileType As String = "*")
Dim oFSO As New FileSystemObject
Dim oFolder As Folder
Dim oFiles As Files
Dim oFile As File
Dim count As Long
Set oFolder = oFSO.GetFolder("c:\")
Set oFiles = oFolder.Files
fileType = LCase(Trim(fileType))
If fileType = "*" Then
CountFiles = oFiles.count
Else
For Each oFile In oFiles
If LCase(oFSO.GetExtensionName(oFile.Name)) = fileType Then count = count + 1
Next oFile
CountFiles = count
End If
End Function