対象:VBScript実務ではファイル名をまとめて変更したい、一括変更したいということがあります。私の場合、画像ファイルを作成するときに「-a.png」「-b.png」といったファイル名でとりあえず保存しておいて、あとから「excel-vba-sample」といった文字列をまとめて付与する、という一括変更をよく行っています。[スポンサードリンク]ファイル名をまとめて変更するサンプルスクリプトそのときに使っているVBScriptをご紹介します。InputBox("ファイル名に付加する文字列を入力してください。"ファイル名に使えない文字が指定されたので中断します。存在するためファイル名を変更できません。Nothing上記のコードを含んだ、拡張子「.vbs」のファイルを用意しておいて、ファイル名を変更したいファイルをその.vbsファイルにドラッグアンドドロップすると「ファイル名に付加する文字列を入力してください。」と表示されたインプットボックスが表示され、ファイル名を一括変更することができます。通常、.vbsファイルはダブルクリックでも実行できますが、このスクリプトの場合ダブルクリックで実行しても意味がないので、引数が1つもなかったときには終了しています。.Quitインプットボックスを表示して、インプットボックスに何も入力されなかったときにも終了します。InputBox("ファイル名に付加する文字列を入力してください。CreateObject("Scripting.FileSystemObject")ドラッグアンドドロップされた全ファイルに対してループ処理を開始します。fso.GetFile(f_name)そのファイルの名前の前に、インプットボックスで入力された文字列を付与します。f.Name実行時エラーが発生する可能性があるため、Err.Numberに応じて処理を振り分けています。.Number「\」や「>」など、ファイル名に使うことのできない文字が入力されていたときには、メッセージを表示してループを抜けます。"ファイル名に使えない文字が指定されたので中断します。For文字列を付与した結果、同じファイル名になってしまうようなケースについては、そのファイルはファイル名の変更を行わないで、ループ処理は継続します。存在するためファイル名を変更できません。0を事前に入れています。インストラクターのネタ帳ファイル名から指定した文字列を削除する形の、ファイル名一括変更処理を行う、VBスクリプトファイルをご紹介しています。インストラクターのネタ帳ファイル名の先頭・左から指定した文字数を削除するという形のファイル名一括変更処理を行う、VBスクリプトファイルをご紹介しています。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。