残業を減らす!Officeテクニック

一瞬で大量のOfficeファイルをコピーしてスタッフの名前入りファイル名にする裏ワザ

同じ内容のファイルを人数分複製したい!

 今回は、1つのファイルを複製して、名前を変更(リネーム)する時に使えるワザを紹介します。例えば、以下のようなリストに含まれるメンバーに対して「スキルシート.xlsx」に回答してほしいといった状況です。

 送付する際は、誰からの回答なのかわかるように、ファイル名をメンバーの名前に変更したいと思います。意識調査や満足度チェックなどにも共通する、よくある事務作業の1つですよね。

想定する部署のメンバーは10名
「スキルシート.xlsx」をコピーして複製し、ファイル名は各メンバーの名前にしたい

 このようなコピーとリネームの作業を、1つずつ力技で処理していませんか? リストの名前に半角スペースが含まれていたら、いちいち削除したりして……、地味で辛い作業です。

ファイルのコピー後に名前を編集状態にして……
1つずつ名前を変更するのは大変

 コマンドプロンプトで一発処理しましょう。ここでは、Excelファイルを例に操作していますが、WordやPowerPointのファイルでも同じように処理できます。

Excel上で「copy」コマンドを作成する

 コマンドプロンプトで使える基本的なコマンドの「copy」を紹介します。「copy」はそのまま、コピーするという意味です。続けて「何を」「(どこに)どのような名前で」と指示する構文です。

copyコマンドの例。「社員スキルシート.xlsx」(②)というファイルを「(C:¥Users¥mado¥Desktop¥スキルチェック¥送付用¥)フォルダー(③)に「青山翔.xlsx」(④)という名前で「copy」する(①)という意味。このような文字列をExcel上で作成する

 今回は、Excelのセルで生成するので、copyコマンドを覚える必要はありませんが、このような構造になっていることを知っておいてください。「どのような名前で」の箇所をリストに合わせて変化させられれば、あとはコピペするだけです。

 「社員スキルシート.xlsx」にパス名を追記しない理由は、このファイルが保存されているフォルダーでコマンドプロンプトを呼び出すためです。

セルC2に「copy 社員スキルシート.xlsx」と入力する。「copy」と「社員スキルシート.xlsx」の間には半角スペースが必要
“コピー先”のフォルダーを開いて、パスをコピーする。部署メンバーのリストがあるフォルダーではないので間違えないように注意
セルD2に貼り付ける
セルE2に「=C2&" "&D2&"¥"&SUBSTITUTE(B2," ","")&".xlsx"」と入力する
上記の例と同じcopyコマンドが作成された
数式を下方向にコピーしておく

 セルC2とD2の間に半角スペースが入るように「" "」を連結しています。「"¥"」はフォルダーの区切りを表しており、SUBSTITUTE関数を使って、氏名に含まれる半角スペースを削除しています。

 数式を使いたくなければ、セルC2に「copy 社員スキルシート.xlsx C:¥Users¥mado¥Desktop¥スキルチェック¥送付用¥青山翔.xlsx」と直接入力して、[Ctrl]+[E]キーを押してフラッシュフィルを利用してもいいでしょう。

エクスプローラーからコマンドプロンプトを呼び出す

 copyコマンドを作成できたので、コピーして実行するだけです。コマンドプロンプトは「社員スキルシート.xlsx」が保存されているフォルダーから呼び出します。間違えると動作しないので注意してください。

作成したcopyコマンドをコピーする
「社員スキルシート.xlsx」が保存されているフォルダーを開いて、パス名の欄に「cmd」と入力して[Enter]キーを押す
開いているフォルダーのパス名が表示されている。[Ctrl]+[V]で貼り付ける
リストの数だけコマンドが実行される。コマンドプロンプトは閉じておく
[送付用]フォルダーを確認すると、メンバー分のファイルが生成されている