以前、複数のテキストファイルをエクセルに移すマクロを教えてもらったのですが、
以下マクロですと、フォルダのパスを指定しないといけません。
今回教えてもらいたいのは、フォルダのパスを指定しなくてもよい方法です。
どういう事かと言うと、仮にディスクトップにフォルダがあるとします。
そのフォルダの中には、マクロが入っているエクセルシートとテキストが入っているフォルダです。
つまり、そのフォルダ内だけで、処理をしたいと考えています。
また、フォルダ名は、その時によって異なります。
今までは、以下の方法を使っていたのですが、ちょっと使いにくいと感じています。
申し訳ありませんが、どなたか教えていただけないでしょうか?
Sub Macro()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim FolderPath As String
'ここのアドレスをファイルが格納されているフォルダのパスに変えてください
FolderPath = "C:\Users\・・・"
Dim myFile As Object
Dim i As Long
i = 2
Dim myFolder As Object
For Each myFolder In fso.GetFolder(FolderPath).SubFolders
For Each myFile In fso.GetFolder(myFolder).Files
Cells(i, 4).Value = myFolder
Cells(i, 1).Value = myFile.Name
Cells(i, 7).Value = fso.OpenTextFile(myFile.Path).ReadAll()
i = i + 1
Next
Next
End Sub
Private Sub CommandButton1_Click()
End Sub
お礼
上手くいきました! ありがとうございました。