Excel VBA ディレクトリの再帰処理
ナビゲーションに移動
検索に移動
Excel VBA ディレクトリの再帰処理
FileSystemObjec
http://msdn.microsoft.com/ja-jp/library/cc392182.aspx
ディレクトリの再帰処理をDir関数を使って書こうと思ったら、困難そうなので、FileSystemObjectを使う。
Const FileAttrNormal = 0 Const FileAttrReadOnly = 1 Const FileAttrHidden = 2 Const FileAttrSystem = 4 Const FileAttrVolume = 8 Const FileAttrDirectory = 16 Const FileAttrArchive = 32 Const FileAttrAlias = 64 Const FileAttrCompressed = 128 Private fso As Object Public Sub recursiveProc() Dim d As String Dim folder As Object Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("c:\") Call traverse(folder) End Sub Private Function traverse(path As Object) As Object Dim sfs As Object Dim sf As Object Dim fs As Object Dim f As Object If path.Attributes And FileAttrDirectory Then Debug.Print "DIR : " & path Set sfs = path.subFolders For Each sf In sfs Call traverse(sf) Next Set fs = path.Files For Each f In fs Call traverse(f) Next End If If path.Attributes And FileAttrArchive Then Debug.Print "FILE : " & path End If End Function
© 2006 矢木浩人