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 ステートメント (ファイル名の変更)
