エラーが発生しないように対策する
今回作成したファイル名を変更するマクロでは、次の2つの場合にエラーが発生する可能性があります。■「新ファイル名一覧」の列にファイル名が入力されていない
■「コピー先フォルダ」にフォルダパスが入力されていない
1つめのケースは、「新ファイル名一覧」にファイル名が入力されていないために「コピー先が見当たらない」と判断され、下図のような「パスが見つかりません」というエラーメッセージが表示される場合です。
「新ファイル名一覧」にファイル名が入力されていない場合に表示されるエラーメッセージ
このエラーを防ぐため、ここでは「新ファイル名一覧」にファイル名が入力されていない場合は、FileCopyステートメントを実行しないで、その行のC列のセルに「ファイル名未入力」と入力するように書き換えます。
「新ファイル名一覧」の列にファイル名が入力されていない場合のためのエラー処理
2つめのケースは、「コピー先フォルダパス」が入力されていない場合を想定したエラー処理で、下図のように記述します。ファイル名一覧を作成したマクロでも同じようなエラー処理を記述しましたね。特にエラーメッセージが表示されるようなケースではありませんが、意図していないフォルダにコピーされてしまうのを防ぐための重要な処理です。
「コピー先フォルダ」にフォルダパスが入力されていない場合のためのエラー処理
作成したマクロをボタンに登録して完成!
これで、ファイル名を変更するマクロが完成しました。ワークシート上に「リネーム処理」ボタンを作成して、作成したマクロを登録しておきましょう。「リネーム処理」ボタンを作成してマクロを登録
それでは、実際にリネーム処理を実行してみましょう。「コピー元フォルダパス」と「コピー先フォルダパス」を入力し、「旧ファイル名一覧作成」ボタンをクリックして旧ファイル名一覧を作成したあと、新しいファイル名を入力して「リネーム処理」ボタンをクリックしてください。
リネーム処理を実行
※上図のように、新しいファイル名に連番を付けたい場合は、Excelのオートフィル機能を活用してファイル名を入力すると便利です。
見事に、コピー先フォルダにファイル名が変更されたファイルがコピーされていますね。
ファイル名が変更されてファイルがコピーされた
新しいファイル名が入力されていない行があった場合は、その行のリネーム処理は実行されず、C列に「ファイル名未入力」と入力されます。
新しいファイル名が入力されていない行があった場合は、C列に「新しいファイル名を指定してください」と入力される