Step3:VBAでフォルダ内のファイル名を取得し、セルに一覧表示

HTMLの文字列を、ページ内の指定位置にまとめて移動するExcelソフトの作成

指定されたフォルダ内から、htmかhtmlのファイル名を取得し、セルに一覧表示します。ファイル名の取得は、FileSystemObjectを使用し、FileオブジェクトのNameプロパティで取得できます。

HTMLの文字列を、ページ内の指定位置にまとめて移動するExcelソフト メニューへ

スポンサーリンク





実行シート画面

[移動するフォルダ]ボタンをクリックすると、フォルダ選択ダイアログが表示されます。
フォルダを選択すると、そのフォルダ内に含まれるHtmはHtmlファイルを取得し、「移動するファイル名」の列に入力していきます。
フォルダ内に含まれるHtmはHtmlファイルを取得し表示

スポンサーリンク


Excel VBAで、フォルダ内のファイル名一覧を取得するプロシージャ

MySerchFileを追加してください。

    If sDir <> "" Then
        If Right(sDir, 1) <> "\" Then
            sDir = sDir + "\"
        End If
        Range("D5") = sDir
           
        MySerchFile
 
    End If

フォルダ内からファイル名を取得し、順にセルに入力しています。

Private Sub ExFolderSearchSub(ByVal tPath As Folder)
    Dim tInPath As Folder
    Dim tFile As File
    Dim lr As Long
    
    lr = 5
    
    For Each tInPath In tPath.SubFolders
        Call ExFolderSearchSub(tInPath)
    Next tInPath

    For Each tFile In tPath.Files
        If LCase(Right(tFile.Name, 4)) = "html" Or LCase(Right(tFile.Name, 3)) = "htm" Then
            Cells(lr, 10) = tFile.Name
            lr = lr + 1
        End If
    Next tFile
    Set tPath = Nothing
End Sub

Sub MySerchFile()
    Dim sSearchPath As String
    Dim tFso As FileSystemObject
    
    sSearchPath = Range("D5")
    Set tFso = New FileSystemObject
    Call ExFolderSearchSub(tFso.GetFolder(sSearchPath))
    Set tFso = Nothing
End Sub

・ ExFolderSearchSubで再帰的に呼び出し、サブフォルダ内も含めて検索しています。
・ Lcase関数を使用し、大文字・小文字の両方を調べています。
・ Nameプロパティをセルに入力しています。
・ Set tFso = Nothingで、FileSystemObjectをお約束通り解放しています。

スポンサーリンク






HTMLの文字列を、ページ内の指定位置にまとめて移動するExcelソフト メニューへ

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


Copyright (c) Excel-Excel ! All rights reserved