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

ファイル名一括変更のマクロ(一覧作成)(3ページ目)

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

緑川 吉行

執筆者:緑川 吉行

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


ファイル名一覧を作成するマクロを作成しよう

ここまで整理できれば、マクロは簡単に作成できます。整理したイメージをマクロにすると下図のようになります。VBEを起動して標準モジュールを挿入し、コードを入力してみましょう。
今回入力するマクロコード

今回入力するマクロコード



大きなポイントは、Dir関数が返したファイル名を変数FileNameに格納している点。詳しい説明は省略しますが、これもDir関数の書き方が1つめと2つめ以降とで違うための対処です。したがって、ファイル名をセルに入力する命令、Do...Loopステートメントの終了条件ともに、変数FileNameを使用して記述しています。
大きなポイントは変数FileName

大きなポイントは変数FileName



また、セルB2に入力されたフォルダパスを使って検索できるように、Dir関数の引数を下図のように書き換えます。セルB2に入力されているデータは、RangeオブジェクトのValueプロパティを使って取得します。
ワークシートに入力されたフォルダパスを検索する

ワークシートに入力されたフォルダパスを検索する



なお、処理が終了したことが明確にわかるように、MsgBox関数で「ファイル名一覧を作成しました」というメッセージを最後に表示しています。
ワークシートに入力されたフォルダパスを検索する

ワークシートに入力されたフォルダパスを検索する



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

なお、次のような場合にDir関数が実行されるとエラーが発生します。
1.【ケース1】フォルダパスを入力するセルB2が空白の状態でマクロを実行した場合
2.【ケース2】セルB2に入力したフォルダパスが存在しない場合

ここでは、【ケース1】に備えて、次のようにコードを追加しておきましょう。このコードは、セルB2が空白だった場合に「コピー元フォルダ名を入力してください。」というメッセージを表示し、「Exit Sub」でマクロの実行を強制的に終了します。このコードを、Dir関数が実行される前に入力してください。
【ケース1】のエラー対策

【ケース1】のエラー対策



なお、【ケース2】については、それこそDir関数の出番なのですが、このマクロでは別の方法でこのケースのエラーを回避します。この方法については、連載の後半で紹介します。


ファイル名一覧を作成するマクロの完成

最後に、ワークシート上にボタンを追加して、このボタンに作成したマクロを登録すれば完成です。
ワークシートにボタン追加<br>※追加するボタンは、「表示」メニュー→「ツール」→「フォーム」をクリックして表示される「フォーム」ツールバーの「ボタン」から作成する。

ワークシートにボタン追加



セルB2にファイル名一覧を作成したいフォルダパスを入力して、「旧ファイル名一覧」ボタンをクリックすると、ファイル名一覧が作成されます。
作成したマクロでファイル名一覧が作成できた

作成したマクロでファイル名一覧が作成できた



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

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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