フォルダ内に異なる名前を持つ200個のフォルダがあります。今、別の名前を持つ各フォルダには、マクロのExcelファイル(.xlsm)があります。私は別のファイルで一度にすべてのファイルを編集しようとしています。コードは次のようになります。1つのフォルダに複数の異なるフォルダにある複数のExcelファイルを編集する
Sub Button1_Click()
Dim wb As Workbook
Dim ws As Excel.Worksheet
Dim strPath As String
Dim strFile As String
'Get the directories
strPath = "C:\Users\generaluser\Desktop\testing main folder\"
strFile = Dir(strPath)
'Loop through the dirs
Do While strFile <> ""
'Open the workbook.
strFileName = Dir(strPath & strFile & "*.xlsm")
'Open the workbook.
Set wb = Workbooks.Open(Filename:=strPath & strFile & "\" & strFileName , ReadOnly:=False)
'Loop through the sheets.
Set ws = Application.Worksheets(1)
'Do whatever
ws.Range("A1").Interior.ColorIndex = 0
'Close the workbook
wb.Close SaveChanges:=True
'Move to the next dir.
strFile = Dir
Loop
End Sub
これは機能しません。私はそれを調整しようとしましたが、私は何もしないか、エラーを引き起こします。誰かがこのコードを動作させる手助けをしてくれますか? (また、 "testing main folder"は、.xlsmファイルを保持する200個の他のフォルダを保持する私のデスクトップ上のフォルダです)
[この回答](http://stackoverflow.com/questions/22645347/loop-through-all-subfolders-using-vba)があなたを助けますサブフォルダをループする方法を理解する。 –
[ユーザー指定のルートディレクトリ内のサブフォルダとファイルを循環する](http://stackoverflow.com/questions/14245712/cycle-through-sub-folders-and-files-in-a-user)の可能な複製-specified-root-directory) – Comintern