- ベストアンサー
【VBA】任意のファイルの一括操作方法
- VBAを使用して、任意のファイルを一括操作する方法について質問します。
- 指定のフォルダ内のExcelファイルを別のフォルダにコピーし、ファイル名やセルの値を変更する方法を知りたいです。
- 条件が単純で繰り返し処理が必要なので、一括で処理するためのコードがあれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
お示しの作業順序ではなくて、下記のようなことでお考えになってみてはいかがでしょうか? 1)C:\aaa\にある「下記」のexcelファイルを開く。 2)sheet1のa1セルにyyyymmdd形式で本日の日付を入力する。 3)ファイル名の【見本】と【見本2】の文字列を削除し、 4)拡張子の前に本日の日付をyyyymmdd形式で追加し、 5)C:\bbb\に保存する。 Sub Macro1() Dim myDate As String Dim myPath As String Dim myName1 As String Dim myBook As Workbook Dim myName2 As String myDate = Replace(Date, "/", "") myPath = "c:\aaa\" myName1 = Dir(myPath & "*.xls") Do While myName1 <> "" If myName1 Like "【見本*】*.xls" Then Set myBook = Workbooks.Open(myPath & myName1) myBook.Sheets("Sheet1").Cells(1, 1) = myDate myName2 = "C:\bbb\" & Replace(Mid(myName1, InStr(myName1, "】") + 1), ".xls", myDate & ".xls") myBook.SaveAs myName2 myBook.Close End If myName1 = Dir Loop End Sub
お礼
なるほど! 先にFileSystemObjectを使ってフォルダ内の.xlsファイルを全てコピペするのを見つけたので、提示した順番に拘ってしまいました。 見方を変えるとは正にこのことですね。 なぜこれで期待する動作になるのか自分でも調べてみたいと思います。 ありがとうございました。