VBAでDir関数 やNameステートメントを使用してファイル名を一括で変更するコードです。
サンプルではファイル名の"201308"を"201310"という文字列に変換しています。
ファイル名の変換に使用しているReplace関数は、上記コードの状態ですと部分一致で置換します。
Dir関数 (フォルダの有無確認)
FileDialogオブジェクト (フォルダ選択のダイアログボックス)
Name ステートメント (ファイル名の変更)
サンプルコード
Sub FileNameChange() Dim FileP As String 'フォルダ選択のダイアログボックスを開く Application.FileDialog(msoFileDialogFolderPicker).Show '選択したフォルダのパス名を取得 FileP = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) 'ファイル名の変換 Dim FileA As String '選んだフォルダの拡張子xlsを含むファイルを返す FileA = Dir(FileP & "\*.xls*") 'フォルダ内のファイルがなくなるまで繰り返す Do While FileA <> "" 'ファイル名の変換 Dim Str1 As String, Str2 As String '変換前の対象文字列 Str1 = "201308" '←任意で変える部分 '変換後の文字列 Str2 = "201310" '←任意で変える部分 '各ファイルのStr1部分をStr2に変換する Name FileP & "\" & FileA As (Replace(FileP & "\" & FileA , Str1, Str2)) 'Dirの指定をなくす FileA = Dir() Loop End Sub
サンプルではファイル名の"201308"を"201310"という文字列に変換しています。
ファイル名の変換に使用しているReplace関数は、上記コードの状態ですと部分一致で置換します。
関連・類似ページ
Replace関数 (置換)Dir関数 (フォルダの有無確認)
FileDialogオブジェクト (フォルダ選択のダイアログボックス)
Name ステートメント (ファイル名の変更)