• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】任意のファイルの一括操作について)

【VBA】任意のファイルの一括操作方法

このQ&Aのポイント
  • VBAを使用して、任意のファイルを一括操作する方法について質問します。
  • 指定のフォルダ内のExcelファイルを別のフォルダにコピーし、ファイル名やセルの値を変更する方法を知りたいです。
  • 条件が単純で繰り返し処理が必要なので、一括で処理するためのコードがあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.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

rihitomo
質問者

お礼

なるほど! 先にFileSystemObjectを使ってフォルダ内の.xlsファイルを全てコピペするのを見つけたので、提示した順番に拘ってしまいました。 見方を変えるとは正にこのことですね。 なぜこれで期待する動作になるのか自分でも調べてみたいと思います。 ありがとうございました。

関連するQ&A