2016-07-13 5 views
1

次のコードを使用して、フォルダ内のファイル数をカウントしています。しかし、500を超えるファイルがあると、各ファイルをループするのが難しくなります。だから私の質問は、各ファイルをループするのではなく、 "Contains"というFolderプロパティを取得できるかどうかです。フォルダのプロパティを表示: "Contains"

Sub pdfcount() 
    Dim FolderPath As String, path As String, count As Integer 
    FolderPath = "C:\Documents and Settings\FPY\" 
    path = FolderPath &"\*.pdf" 
    Filename = Dir(path) 
    Do While Filename <>"" 
     count = count +1 
     Filename = Dir() 
    Loop 
    Range("A1").Value = count 
End Sub 

答えて

1

以下の関数は、フォルダ内のファイル数を返します。

Function CountFiles(folderPath As String) As Long 

    Dim fso As Object 
    Dim files As Object 

    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set files = fso.GetFolder(folderPath).Files 

    CountFiles = files.Count 

End Function 
+0

ありがとう@ガース、それは速かった:) – Neelesh

+1

おっと!もう一度チェックしてください。 – Neelesh

+0

私が間違っていると私を訂正しますが、OPにはフォルダ内に表示されるPDFの数を数えたいと思うようです。ワイルドカードをfsoファイルパスに渡すことはできませんか? –

関連する問題