【非エンジニア向け】Windowsで業務を自動化する方法【RPA以外の方法で】

この記事は「 Windowsの業務自動化はどのようにしたらよいでしょうか?自動化といえば RPAですよね?」といった疑問に答えます。



RPA以外の方法で自動化

ここ数年Windowsの業務自動化の手段としてRPAが人気です。自動化をしたい= RPAの導入、と最初から思いこんでいる方も多く、話を聞いてみるとRPAは全く必要ではなかったということもままあります。

RPAは「急に動かなくなってしまう」ということが良くあり、技術的にはこれは単に仕様上の問題だったりします。つまり「RPAとはそういうものである」ということです。

非エンジニアの場合には日々の仕事で考えると、これがかなりきついものでしょう。そこで今回はRPA以外の Windows自動化について紹介します。





バッチ処理する

Windows上の基本的なファイル操作のみを自動化したい、という場合なら「バッチ処理」を使うと良いです。例えば、あるフォルダに入っているファイルのバックアップを取りたいという場合、手動ならファイルエクスプローラー上でドラック&ドロップなどでバックアップ先のフォルダに移します。これをバッチ処理で自動化することができます。

バッチ処理をするには、Windowsのスクリプト言語を使って操作を記述したバッチプログラムを作成し、そのプログラムを走らせるということをします。つまりプログラミングが必要です。

そうすると腰が引けてしまうかもしれませんが、単純な処理であればスクリプト言語を使ったバッチプログラムは簡単なものです。スクリプト言語は歴史が古く、Windowsの初期からあるいわゆるバッチファイル(.batのファイル)、近年ではWindows Script HostやPowershellといった高機能なものまで複数の種類があります。

ですが、非エンジニアがちょっとした処理を自動化するだけなら、昔ながらのバッチファイルで充分であり、簡単に作成して導入することができます。中小企業などシステム担当者を置けない職場では、簡単なバッチ処理を導入するだけで大変に有難がられるものです。

例として「task」フォルダにあるtest.xlsxファイルに日付を付けて「history」フォルダにコピーするバッチファイルのサンプルを以下に掲載します。先頭にremとあるのはコメント行です。

@echo off

rem
rem テストバッチファイル
rem

rem このバッチが存在するフォルダをscript_dirに設定する
set script_dir=%~dp0

rem 親ディレクトリに移動
pushd %script_dir%..

rem 画面の表示をクリアする
cls

rem 日付を変数today_YYYYMMDDにセットする
set today_YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
rem ファイルをコピーする
copy task\test.xlsx history\test-%today_YYYYMMDD%.xlsx

rem このバッチが存在するフォルダscript_dirに戻る
popd

rem 変数を初期化する
set script_dir=

rem 一旦停止する
pause

rem 終了する
exit

ここではコマンドして「copy」などを使っていますが他にもコマンドは多数あり、ググると解説が見つかりますので、目的に合ったプログラムを作成します。作成はメモ帳などテキストエディタで行います。

できたら、ファイル名に「.bat」という拡張子を付けて保存します。ファイルエクスプローラー上でこのバッチファイルをダブルクリックすれば実行しますので、結果を確認してみてください。





タスクスケジューラを使う

バッチファイルを使えば一連のWindows上の処理を自動化することができますが、タスクスケジューラを使えばさらに処理のタイミングも自動化することができます。タスクスケジューラはWindowsに標準機能としてついてるもので、バッチファイルを登録すると一定の時間に自動実行できるようになります。

例えば毎晩午前2時にバッチファイルを実行したい、といったときは以下のように設定します。

まずWindows左下の「ここに入力して検索」に「タスク」などと入れると候補に[タスクスケジューラ]が出てくるのでこれを選択します。すると以下のようにタスクスケジューラが起動します。

[基本タスクの作成]をダブルクリックするとウィザードが開始され、タスクの名前や実行のトリガーを設定します。

[次へ]で進んで[参照]から開始するプログラム(バッチファイル)を選択します。最後に[作成]をクリックして登録完了です。時間になると登録したバッチファイルが自動で起動します。



自動化ソフトを使う

上記のバッチ処理により多くのWindowsの操作を自動化することができますが、(1)プログラムを書かなければならない、(2)マウスの操作(選ぶ、チェックボックスにチェックするなど)を自動化できない、といった問題点もあります。

これらの問題を解決するには、自動化ソフトを使うのが早いです。

自動化ソフトの例としては「KitSprocket」があります。簡単な命令を書くだけで、PC操作を自動で行えるようになるソフトです。

このアプリ上で下図のように右クリックメニューからコマンドを呼び出して、組み合わせることでマウス操作やボタン操作が自動で行えるようになります。 下図は「ファイルを開く」というコマンドを設定する例です。

このようにコマンドを選んで記述していくイメージで、各コマンドも日本語の「ファイルを開く」、「URLを開く」といったものになっていて分かりやすいです。

さらに座標記録ツールがあるので、マウスの動作を記録して自動化することも可能です。

価格が8,580円(税込)となっていますが、買い切りなのでお得かと思います。詳しくはこちらの公式サイトよりご確認ください。





ブラウザの作業のみ自動化する

業務の自動化をしたいという場合、最近ではWebアプリケーションの自動化であることが多いです。つまり業務アプリケーションがウェブサイト上にありその操作を自動化したいということです。

このようにウェブサイト上のみの自動化であれば、プログラムを書いたりする必要はありません。 Web 上の操作を記録してそれを再現するツールがありますので、そういったものを使えば済みます。

私が愛用しているのはiMacrosというGoogle Chromeの拡張機能です。これはもともとウェブサイトの開発者がWebの操作を自動テストするために用いていたツールですが、特に開発者に限定されるものでもなく、使い方も簡単ですので、 Web 上の業務の自動化に役立てることができます。 有料版もありますが、無料版で充分高機能です。

iMocrosはその名の通りマクロプログラムを走らせる環境なのですが、基本的に自分でプログラムを書く必要はありません。記録機能を使ってまず1回自分で操作を行いウェブサイト上の操作を記録させることができます。自動記録されたプログラムを必要に応じ修正して、再生することにより自動処理することができます。エクセルのマクロ記録と同じ感覚ですね。

拡張機能は英語表記になっていますが、基本的な英語しか使われていませんし、日本語による解説記事もたくさんありますので、ググりつつ調べて自分なりの自動化プログラムを作ることができます。



最終判断としてのRPA

上記のものを使っても対応できない自動化の場合に初めてRPAを検討するようにします。例えば、よく使われる例ですが、エクセルからデータを読んでWebアプリケーションに入力するといった「アプリをまたいだ」自動化はRPAが必要となります。

RPAは一部のものを除いてライセンス費用が高いのがデメリットでしたが、最近では本家の Microsoft が Power Automate DesktopというRPA環境を出してきました。Windows10ユーザーは追加費用なしで使うことができます

ただし無料でできるのは手動実行のみで、スケジュールしての自動実行やツイッターやchatworkのような外部サービスとの連携はPower Automateのライセンス購入が必要となります。まず無料で試してみて自分がやりたいことが無料の範囲でできるかどうか見てみるのが良いでしょう。





以上、非エンジニア向けWindowsで業務を自動化する方法、という話題でした。普段の仕事のうちできるだけ様々なものを「自動化」して「作業を減らしたい」ものです。私も作業=時間の無駄と考えて、なんとか自動化できないか日々挑戦しているところです。

★★★ 人気記事 ★★★