フォルダ内のファイル名を一括変更する
毎日成果物として提出をしないといけない場合に、ファイル名に日付を付けるなどをして、
ファイル名が被らないようにする事は多いです。
大量のファイルの場合作業時間が必要で、ファイル名を手動で変更するリネーム作業も手間がかかります。
面倒な処理をマクロで一括処理、ヒューマンエラーを起こさない為にもマクロ化します。
サンプルコード
’■フォルダ内のファイル名に日付(yymmdd形式)を付与する
Sub call_folder_all_file_rename()
Dim Path As String
Dim FName As String
'■ファイル名取得するフォルダパス、該当拡張子を入れる
Path = "C:\Sample\"
FName = Dir(Path & "*.xls") 'ワイルドカード(*)を使用し、xlsx拡張子のファイルを全て
' FName = Dir(Path & "*") 'ワイルドカード(*)を使用し、全てのファイルならこちらのコード
'■Loopでファイルを取得→ファイル名変更
Do While FName & <> ""
'■sample.xlsx → sample200803.xlsx(2020/08/03に実行した場合)
Name Path & FName As Path & call_BaseNameGet(FName) & Format(Now, "yymmdd") & call_ExtensionNameGet(FName)
FName = Dir()
Loop
End Sub
フォルダ内の全てのファイルに対して日付を追加しリネームします。
今回は、下記の記事の応用編です。
今回は、下記の記事の応用編です。
注意点
- 同一フォルダ内にリネームしたファイルを置いています。別フォルダにする場合は、
Name AsのAs以降のパス部分(Path)を変更してください。 - 今回記載したコードだけではマクロは動きません。
下記のパーツを組み合わせる事でマクロが動きます。
同一モジュール内に下記のパーツ化したコードを入れておいてください。



コメント