Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » ファイル名をまとめて変更するExcelマクロ

ファイル名をまとめて変更するExcelマクロ

対象:Excel2003, Excel2007, Excel2010

パソコンを使っていると日々ファイルが増えていきます。

日々増え続けるファイルを整理するために、ファイル名をまとめて変更する作業が発生することがあります。

そんなときに、数個のファイルならエクスプローラー上で修正すればいいでしょう。

しかし、大量のファイルの名前を変更したい場合、手作業で変更するとなると大変です。

一括してファイル名を変更する、リネーム用のツールもありますが、VBA(Visual Basic for Applications)でExcelマクロを作り、ファイル名を変更することもできます。

[スポンサードリンク]

そんなマクロをご紹介しておきます。

▼ファイル名をまとめて変更するマクロ

Sub ファイル名をまとめて変更する()
'アクティブシートのA列に入力されているファイル名を
'B列に入力されているファイル名に変更する
'
'A1セルに、ファイル名を変更したいフォルダのフルパスを入力しておいてください
'A5セル以下に、現在のファイル名を入力しておいてください
'B5セル以下に、新しいファイル名を入力しておいてください
'C5セル以下には実行結果が自動的に入力されます


 Dim fp As String
 Dim i As Long
 Dim fo As String
 Dim fn As String

 'パスを変数に格納
 fp = Range("A1").Value & "\"

 On Error GoTo ERR_HANDL

 Range("C4").Value = "実行結果"

 '5行目から最終行までループ処理を実行
 For i = 5 To Cells(Rows.Count, 1).End(xlUp).Row
  '現在のファイル名を取得
  fo = Cells(i, 1).Value
  '新しいファイル名を取得
  fn = Cells(i, 2).Value
  '新しいファイル名が入力されているときのみ処理を実行
  If fn <> "" Then
   '正常処理の実行結果を先に入力
   Cells(i, 3).Value = _
    "○ファイル名を" & _
    "「" & fo & "」から" & _
    "「" & fn & "」に変更しました。"
   'ファイル名を変更
   Name fp & fo As fp & fn
  End If
 Next i

 Exit Sub
 
ERR_HANDL:
 
 Cells(i, 3).Value = _
  "×" & Err.Description & ":" & Err.Number
 Resume Next

End Sub

先日、フォルダを指定してファイル名一覧を取得するマクロをご紹介しました。

上記のマクロは、そのファイル名一覧を作成するマクロで作られたファイル名一覧をベースにして、ファイル名を変更するものです。

A1セルにファイル名を変更したいフォルダのフルパスを、A5セル以下に現在のファイル名を(ここまでは先日のマクロでできます)、B5セル以下に新しいファイル名を入力しておいてください。

B列にファイル名の入力されているファイルに対してだけ処理が実行され、C5セル以下には実行結果が入力されます。

実際にファイル名を変更しているのはFor ~ Nextループ文の最後のほうにある
   Name fp & fo As fp & fn
の部分です。

Nameステートメントの、Asの前で現在のファイル名を、Asの後ろで新しいファイル名を指定します。

変数「fp」には最初のほうの
 fp = Range("A1").Value & "\"
でフルパスと円マークを格納して、
変数「fo」「fn」にはループ文の中で
  fo = Cells(i, 1).Value
  fn = Cells(i, 2).Value
セルから取得した値を格納しています。

ファイル名の変更操作では、いろいろなエラーが発生する可能性があります。

エラーハンドラ「ERR_HANDL」の中で、C列にErr.DescriptionとErr.Numberを書きだしています。

ファイル名をまとめて変更してしまうので、上記のマクロをご利用の際は、ご自身でよくテストをして、自己責任でお願いします。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » ファイル名をまとめて変更するExcelマクロ

「マクロのサンプル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.