見出し画像

ExcelVBA┃ファイル名の操作

フォルダ内のファイル名を書き出す

任意のフォルダ(フォルダのパス)を指定して、そこに格納されているファイルの一覧をシートに書き出す処理です。

Sub GetFileName()
    Dim strPath As String
    Dim objFolder As Object
    Dim objFile As Object
    Dim i As Integer
    
    'フォルダのパスを指定
    strPath = "C:\・・・フォルダのパスを指定"
    
    'ヘッダを書き込む
    Cells(1, 1).Value = "フォルダ名"
    Cells(1, 2).Value = "ファイルタイプ"
    
    'フォルダ内のobjFileを取得
    Set objFolder = CreateObject("Scripting.FileSystemObject").GetFolder(strPath)
    
    'objFileごとに処理
    For Each objFile In objFolder.Files
        ' iをインクリメント
        i = i + 1
        
        'objFile名を書き込む
        Cells(i + 1, 1).Value = objFile.Name
        
        'objFileタイプ(拡張子)を書き込む
        Cells(i + 1, 2).Value = Right(objFile.Name, Len(objFile.Name) - InStrRev(objFile.Name, "."))
    Next objFile
    
    'カラムの幅を自動調整
    Columns("A:B").AutoFit
End Sub


この記事が気に入ったらサポートをしてみませんか?