Excelでフォルダ内文字列検索ソフトを作ってみよう

Step 2 フォルダ内ファイル一覧の作成

探索するフォルダを固定しテストルーチンを作成します。
フォルダ内のサブフォルダ内も探索できるようにしました。
サブフォルダは列を下げ表示します。



Homeへ > Excelでアプリケーションソフト2 > フォルダ内文字列検索ソフト

実行画面

サブフォルダ単位で行を変更しファイル名が表示されています。
ファイルの更新日も表示しています。
ファイル一覧

コード

下記のVBAコードを追加してください。

下記のコードでは再帰呼び出しを使用しています。
再帰呼び出しとは、手続き中で再びその手続き自身を呼び出す事です。
ここでは「ExFolderSearchSub」から再び「ExFolderSearchSub」を呼び出しています。

Option Explicit
Private lFileCount As Long
Private lPathCount As Long

'フォルダ内ファイル検索
Sub ExFolderSearch(sSearchPath As String, lStartRow As Long, lStartCol As Long)
    Dim tFso As FileSystemObject
    
    Set tFso = New FileSystemObject
    Call ExFolderSearchSub(tFso.GetFolder(sSearchPath), lStartRow - 1, lStartCol - 1)
    Set tFso = Nothing
End Sub

Private Sub ExFolderSearchSub(ByVal tPath As Folder, ByRef lRow As Long, ByVal lCol As Long)
    Dim tInPath As Folder
    Dim tFile As File

    lPathCount = lPathCount + 1
    lRow = lRow + 1
    lCol = lCol + 1
    Cells(lRow, lCol).Value = tPath.Name & "/"

    'サブフォルダ内の探索
    For Each tInPath In tPath.SubFolders
        Call ExFolderSearchSub(tInPath, lRow, lCol)
    Next tInPath

    'フォルダ内のファイルを表示
    lCol = lCol + 1
    For Each tFile In tPath.Files
        lRow = lRow + 1
        lFileCount = lFileCount + 1
        Cells(lRow, lCol) = tFile.Name & " (" & tFile.DateLastModified & ")"
    Next tFile
    Set tPath = Nothing
End Sub

Private Sub CommandButton1_Click()
    ExFolderSearch "C:\Program Files\Microsoft Office\Office10", 5, 2
End Sub

Homeへ > Excelでアプリケーションソフト2 > フォルダ内文字列検索ソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved