フォルダ内のファイルと同じ名前のテキストファイルを別フォルダに作成

Sub prcファイル名取得とテキスト作成()
    ' 機能概要: フォルダAのファイル名を取得し、フォルダBに同名のテキストファイルを作成する
    ' 留意点: フォルダAとフォルダBは同一階層に存在する必要がある

    Dim fsoFileSystem As Object  ' ファイルシステムオブジェクト
    Set fsoFileSystem = CreateObject("Scripting.FileSystemObject")
    
    Dim fldA As Object  ' フォルダAオブジェクト
    Dim fldB As Object  ' フォルダBオブジェクト
    Dim fleTarget As Object  ' 対象ファイルオブジェクト
    Dim txtTextFile As Object  ' テキストファイルオブジェクト
    
    Dim strFolderAPath As String  ' フォルダAのパス
    Dim strFolderBPath As String  ' フォルダBのパス
    Dim strFileName As String  ' ファイル名
    
    ' フォルダパスを設定
    strFolderAPath = ThisWorkbook.Path & "¥FolderA"
    strFolderBPath = ThisWorkbook.Path & "¥FolderB"
    
    ' フォルダオブジェクトを取得
    Set fldA = fsoFileSystem.GetFolder(strFolderAPath)
    Set fldB = fsoFileSystem.GetFolder(strFolderBPath)
    
    ' フォルダAの各ファイルに対して処理
    For Each fleTarget In fldA.Files
        ' ファイル名を取得
        strFileName = fleTarget.Name
        
        ' フォルダBに同名のテキストファイルを作成
        Set txtTextFile = fsoFileSystem.CreateTextFile(fldB.Path & "¥" & strFileName & ".txt", True)
        txtTextFile.Close
    Next fleTarget
    
    ' オブジェクトを解放
    Set txtTextFile = Nothing
    Set fleTarget = Nothing
    Set fldB = Nothing
    Set fldA = Nothing
    Set fsoFileSystem = Nothing
End Sub

コメント