フォルダ内のファイル名を一括変更する
毎日成果物として提出をしないといけない場合に、ファイル名に日付を付けるなどをして、
ファイル名が被らないようにする事は多いです。
大量のファイルの場合作業時間が必要で、ファイル名を手動で変更するリネーム作業も手間がかかります。
面倒な処理をマクロで一括処理、ヒューマンエラーを起こさない為にもマクロ化します。
サンプルコード
’■フォルダ内のファイル名に日付(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)を変更してください。 - 今回記載したコードだけではマクロは動きません。
下記のパーツを組み合わせる事でマクロが動きます。
同一モジュール内に下記のパーツ化したコードを入れておいてください。
コメント