Excel VBAの使い方/マクロ・VBA

ファイル名一括変更のマクロ(ファイル名変更)(2ページ目)

複数のファイルの名前を一括で変更するマクロプログラム「リネームマクロ」の作成方法を連載形式で紹介しています。第2回目のこの記事では、ファイル名を変更する部分のマクロを作成します。

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド


エラーが発生しないように対策する

今回作成したファイル名を変更するマクロでは、次の2つの場合にエラーが発生する可能性があります。
■「新ファイル名一覧」の列にファイル名が入力されていない
■「コピー先フォルダ」にフォルダパスが入力されていない

1つめのケースは、「新ファイル名一覧」にファイル名が入力されていないために「コピー先が見当たらない」と判断され、下図のような「パスが見つかりません」というエラーメッセージが表示される場合です。
「新ファイル名一覧」にファイル名が入力されていない場合に表示されるエラーメッセージ

「新ファイル名一覧」にファイル名が入力されていない場合に表示されるエラーメッセージ


このエラーを防ぐため、ここでは「新ファイル名一覧」にファイル名が入力されていない場合は、FileCopyステートメントを実行しないで、その行のC列のセルに「ファイル名未入力」と入力するように書き換えます。
「新ファイル名一覧」の列にファイル名が入力されていない場合のためのエラー処理

「新ファイル名一覧」の列にファイル名が入力されていない場合のためのエラー処理


2つめのケースは、「コピー先フォルダパス」が入力されていない場合を想定したエラー処理で、下図のように記述します。ファイル名一覧を作成したマクロでも同じようなエラー処理を記述しましたね。特にエラーメッセージが表示されるようなケースではありませんが、意図していないフォルダにコピーされてしまうのを防ぐための重要な処理です。
「コピー先フォルダ」にフォルダパスが入力されていない場合のためのエラー処理

「コピー先フォルダ」にフォルダパスが入力されていない場合のためのエラー処理



作成したマクロをボタンに登録して完成!

これで、ファイル名を変更するマクロが完成しました。ワークシート上に「リネーム処理」ボタンを作成して、作成したマクロを登録しておきましょう。
「リネーム処理」ボタンを作成してマクロを登録

「リネーム処理」ボタンを作成してマクロを登録



それでは、実際にリネーム処理を実行してみましょう。「コピー元フォルダパス」と「コピー先フォルダパス」を入力し、「旧ファイル名一覧作成」ボタンをクリックして旧ファイル名一覧を作成したあと、新しいファイル名を入力して「リネーム処理」ボタンをクリックしてください。
リネーム処理を実行<br>上図のように、新しいファイル名に連番を付けたい場合は、Excelのオートフィル機能を活用してファイル名を入力すると便利です。

リネーム処理を実行
※上図のように、新しいファイル名に連番を付けたい場合は、Excelのオートフィル機能を活用してファイル名を入力すると便利です。


見事に、コピー先フォルダにファイル名が変更されたファイルがコピーされていますね。
ファイル名が変更されてファイルがコピーされた

ファイル名が変更されてファイルがコピーされた



新しいファイル名が入力されていない行があった場合は、その行のリネーム処理は実行されず、C列に「ファイル名未入力」と入力されます。
新しいファイル名が入力されていない行があった場合は、C列に「新しいファイル名を指定してください」と入力される

新しいファイル名が入力されていない行があった場合は、C列に「新しいファイル名を指定してください」と入力される


【編集部おすすめの購入サイト】
Amazonで Excel 関連の商品をチェック!楽天市場で Excel 関連の商品をチェック!
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます