\副業初心者が選ぶべきクラウドソーシングサービス4選/

ファイル名を一括変更!ExcelVBAで簡単にできる

※当サイトはアフィリエイト広告を利用しています

仕事効率化

独学でExcelVBA勉強し、業務の効率改善しまくっているtsenです。

このブログでは、人事・総務をはじめ管理系の事務作業に役立つ
ExcelVBAを使った便利ツールをたくさん紹介しています。

今回は、ファイル名を一括変更する方法です。

ファイル名を一括変更するためのフリーソフトはたくさんありますが、

ExcelVBAを使っても簡単に実現することが出来ます。

スポンサーリンク

ExcelVBAでファイル名を一括変更する方法

特定のフォルダ内にいくつかファイルが格納されていて、
そのファイル名を一括変更(リネーム)する方法です。

このページを読むと実現することは以下のようなことです。

リネームのイメージ
リネームのイメージ

このように、ファイル名称を一気に変更したいときに役立ちます。

またこのツールでは、元ファイルをコピーしてから名称を変更するので、
元ファイルはそのままにファイル名称変更後のファイルも保存することが出来ます。

設定シートを事前準備する

まず、下記にようなExcelシートを準備しましょう。

ファイル名一括変更設定シート
ファイル名一括変更設定シート

設定シートに必要な項目は4つ。
元フォルダのパスとリネーム後のフォルダパス・元ファイル名と新ファイル名です。

そしたら、標準モジュールに以下のVBAコードを入れて、マクロブックで保存してください。

標準モジュールの立ち上げ方が分からない人は、
まずこちらの超初心者向け「初めてのマクロ」を先に読んでください。

Option Explicit

Sub ファイルリネーム()
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim FolderName As String
Dim NewfolderName As String
Dim OldFileName As String
Dim NewFileName As String
Dim i As Integer

FolderName = Sheets(1).Cells(2, 4) & "\"
NewfolderName = Sheets(1).Cells(3, 4) & "\"

i = 5
Do Until Sheets(1).Cells(i, 1) = ""
   OldFileName = FolderName & Sheets(1).Cells(i, 1)
   NewFileName = NewfolderName & Sheets(1).Cells(i, 2)
   FSO.copyfile OldFileName, NewFileName
i = i + 1
Loop
Set FSO = Nothing

End Sub

ファイル名称を一括変更してみよう!

名称変更したいファイルを1つのフォルダに格納します。

そして、ファイル名称変更後のファイルを格納する先のフォルダも作成しておきましょう。

そしたら実際に、設定シートに必要事項を記入していきます。

ファイル名称を変更する
ファイル名称を変更する

※フォルダパスは、フォルダのバーの部分にカーソルを合わせてクリックすると分かりますよ。

フォルダパス
フォルダパス
tsen
tsen

ファイル名には拡張子も必ず記入しましょう!

マクロを実行すると、リネーム後というフォルダに変更後のファイル名称が出来ているはずです。

名称変更後のファイルが出来ている
名称変更後のファイルが出来ている

この事例は、Excelファイルをリネームしていますが、
.jpg、.pptx、.pngと拡張子がどんなファイルでも対応が可能です。

ファイル名称を一括で取得する方法

ここで、A社.xlsx、B社.xlsxというファイル名を一気に取得する方法も合わせて紹介しておきます。

Windows10であれば、全てのファイルを選択した状態で「shiftキー」を押しながら右クリックすると

パスのコピーという選択肢が出てきます。

パスのコピー
パスのコピー


コピー後、適当にエクセルに貼りつけてください。

パスの貼りつけ
パスの貼りつけ

区切り位置の指定で円マークで区切れば、希望のファイル名だけ取り出すことが出来ますよね。

この部分もマクロ化してもいいのですが、汎用性を高めるために今回はあえてファイル名称変更に特化したマクロにしました。

ファイル名称を一気に変更したい!という方の参考になれば幸いです。