本連載の第77回では「エクセルの作業を自動化しよう」と題し、難易度のレベル別にエクセルでの作業自動化の例をお伝えしました。今回はエクセルのマクロを使わずに、もっと手軽にフォルダやファイル操作を自動化する方法をお話します。

各社員が作成して共有フォルダに置いた報告書ファイルのデータを集計するために、本社の営業本部で扱うフォルダに毎日決められた時刻にひたすらコピペするといった作業に心当たりはありませんか。このような作業は管理系の部署でよく見かけます。さらにはルールに従ってフォルダを新しく作成したり、ファイル名の頭に日付を入れたりするなどの作業が含まれるケースもあります。

こうした作業はフォルダやファイルの数が少なければものの数分で終わるかもしれませんが、100や200を超えるようなファイルを扱う場合にはなかなかの作業ボリュームになります。

例えばシンプルに200人いる各社員のフォルダにアクセスしてファイルを別のフォルダにコピペするだけでも、休みなくスムーズにできたとしても終えるのに30分以上かかるでしょう。

【計算例】
各社員のフォルダにアクセスする: 5秒
ファイルをコピーする: 3秒
所定のフォルダにペーストする: 3秒
1~3を200回繰り返す: 合計約37分(11秒×200回÷60)

さらに、こうした作業を淡々と進めている途中で同僚から話しかけられたり、取引先からの電話に出たりしている間にどこまで進んだのか分からなくなってしまったりすることがよくあります。作業後に社員数とファイル数の齟齬が発覚して、コピペ漏れが起きたのかファイルを置き忘れた社員がいるのかを検証するための手間が新たに発生する場合もあります。そうすると、作業時間がトータルで1時間を超過するケースも十分にありえます。

こう考えると非常に手間のかかる作業ですが、やっていることは極めて単純でファイルをただコピペしているだけなのでさっさと自動化してしまいましょう。

このような提案をするとよく「私はマクロが使えないから無理です」とか「コピペのために新たなシステムを導入するのは費用対効果が悪過ぎる」といった反応があります。

しかし、安心してください。マクロが使えなくても、そのためのシステムを導入しなくても自分で簡単に作業を自動化することが可能です。そのためのツールが「バッチファイル」と「タスクスケジューラ」です。

バッチファイルとは、一言でいうとWindowsでマウスを使わない処理をまとめて実行してくれるファイルです。難しい説明は割愛しますが、要はファイルやフォルダを新しく作成したり、削除したり、コピーしたり、移動したり、名前を変更したりするといった作業を自動化できるということです。

そして、このバッチファイルの作成には特別なツールは一切必要ありません。それどころかお馴染みのメモ帳で作成できます。もしメモ帳の開き方が分からない場合には、Windowsの画面の左下にある検索ボックスに"notepad"と入力すると検索結果に表示されるので、そこから起動してください。

そしてメモ帳にやりたいことをコマンドという命令文で書いて、ファイル名の最後に”.bat”と付与すればバッチファイルの完成です。このバッチファイルをダブルクリックすれば、記述した命令文を上から1行ずつ自動で実行してくれます。

コマンドの具体的な書き方は割愛しますが、"バッチファイル"や"コマンドプロンプト"などのキーワードで検索すると詳しく説明しているサイトが沢山あるので、そちらを参照してください。なお、プログラミングに馴染みのない方はこのようなサイトを見た瞬間に「無理!」と拒絶反応を示す方もいるかもしれませんが、落ち着いてよく観察してみるとそんなに難しくないことがわかるはずです。

例えばファイルをコピーするなら"copy"、移動させるなら"move"、削除するなら"del"、名前を変更するなら"rename"といったように、簡単な英単語を基にしたワードで操作が可能です。

【コマンド例】
test1.txtというファイルを操作する場合のコマンドは以下のとおりです。
・コピーしてtest2.txtというファイル名でフォルダ内にペーストする: copy test1.txt test2.txt
・"テストフォルダ"というフォルダに移動する: move test1.txt テストフォルダ
・削除する: del test1.txt
・"test3.txt"というファイル名に変更する: rename test1.txt test3.txt

思っていたよりずっとシンプルだと感じられたのではないでしょうか。このようなコマンドを記述してバッチファイルを一度作成したら、後はダブルクリックするだけで毎回全く同じ操作を自動で、しかも手で行うより遥かに迅速かつ正確に処理してくれます。

さらに、Windowsに標準装備されているタスクスケジューラを使用することでバッチファイルを自動で定期的に実行してくれます。タスクスケジューラはWindowsの画面の左下の検索窓で"タスク"と入力すると表示されるので、そこから起動できます。

起動したら「基本タスクの作成」をクリックしてウィザードに沿って入力することで特定のタスクを簡単に自動化できます。なお、ウィザードの「トリガー」のところで自動実行するタイミングを指定し、「操作」のところで「プログラムの開始」を選択し、さらにバッチファイルを指定して「完了」を押せば設定完了です。

毎日、毎週、毎月、コンピュータの起動時などのタイミングを指定することができます。こちらについても詳しくは画像付きで解説しているサイトがあるので、分からないことがあれば検索してみてください。

本稿ではバッチファイルとタスクスケジューラによる作業の自動化についてご紹介しました。恐らくは「そもそもこういう仕組みを覚えたり作ったりすること自体が面倒くさい」と感じる方もいらっしゃるでしょう。しかしこういうものは一度仕組みを作ってしまえば後は楽になるものです。たとえ最初に自動化の仕組みを作るのに5時間かかったとしても、毎日30分間、毎月10時間、毎年120時間かかる手間を省けると思えばコスパは十分ですね。ぜひ一度、トライしてみてください。