見出し画像

同じ操作を何度も繰り返すのが苦痛だから、RPAツール「PAD」でパソコン業務の自動化に挑戦!

こんにちは。
仕事をしていると同じ動作を繰り返す作業というのがどのジャンルでもあるかと思いますが、心身ともに相当な苦痛になっている方も多いのではないでしょうか。
今回は、ここ数年多くの企業で導入が進んでいる「RPAツール」を使って、繰り返し作業が苦痛となっているパソコン業務の自動化にチャレンジしてみます。(10月11日:9日に投稿した記事の一部を修正しました)

1.現状・課題

➊現状

最近、私が勤める会社では、企業や病院、商業施設などの事務所や休憩室などに、食料品や日用品、文房具のようなアイテムを、交通系ICカードやスマホ決済などのキャッシュレス決済で購入できるオフィス向け無人店舗のサービスを展開。現在、すでに20か所を超えています。

この無人店舗サービスを展開するには、商品の陳列棚やキャッシュレス決済対応のセルフレジ、監視カメラなどが必要になりますが、当社では、これらがセットとなった社外の事業者向けパッケージを導入。これらの店舗で扱う商品情報や販売実績はクラウド上で管理されています。

オフィス向け無人店舗の品揃えのイメージ

❷課題

一方で、当社では会社の会計数値はすべて社内の会計システムに集約される流れになっており、当然、無人店舗も対象になりますが、これが今、私たちの業務を圧迫する要因の1つとなっています。

実はこちらのクラウドサービスではAPIが公開されておらず、またCSVやEXCEL等での一斉ダウンロードもできないため、毎回、管理画面から販売実績データをダウンロードする作業を店舗の数だけ実施しているのです。
今は20か所ですが、今後50、100と増えていった場合に、確実に業務が破綻することが予想されます。

メインメニュー上に各店舗のURLが直接張られているため、1つ1つクリックする必要が・・・

2.企画

そこで今回は、この販売実績データの収集を自動化する手段として、昨今多くの企業で導入が進むRPAにチャレンジしてみたいと思います。

➊使用する開発ツール

・Microsoft 「Power Automate for desktop(以下PAD)
 マイクロソフト社が展開するRPAツール。
 Windows11以降のPCには標準装備されているそうですが、私の会社は
 Windows10なので、デスクトップ版をインストールしました。

❷今回参照させていただいたサイト

3.アプリ開発

➊PADでフローを新規作成

PADでは、1つ1つの動作を「アクション」、複数のアクションをつなぎ、自動化したいパソコン操作を順番に再現する処理の流れを「フロー」といいます。
まずは、新しいフローを作成します。
今回は「無人店舗販売実績データ取得」と命名しました。

PADの画面構成

❷フローの枠内に「アクション」を組み込む

基本的にRPAは、私たちが手作業で実行しているパソコンの操作を順番に再現してくれるものなので、実際にプログラムを組む前に、従来の操作手順で画面操作をしてみるのが一番です。

そこで、最初に触れた現状の手作業をもう一度確認すると、さきほど表示した現状図 ↓ でもわかるようにパソコン操作はせいぜい5~6つですが・・・

パソコン操作を順番に再現すると、5~6つの動作があることがわかりますが・・・

これをRPAで再現すると、「アクション」の数がのべ27個となりました ↓

完成した「フロー」の全体像

4.検証

➊フローを実行

早速、本件の対応をしている担当者に見てもらいながら、出来上がったフローを実行してみました。

想定していたとおりの動きが再現できましたが、担当者から次の指摘がありました。

❷検証後の指摘事項

(1)フローが長すぎる
 1店舗のデータを出力するのに17のアクションが必要なら、20店舗のデ
 ータを出力する場合、アクションは340? メンテナンスが大変そう。

(2)処理時間がかかりすぎる
 上記の動画は30秒以内にまとめましたが、実際は1店舗で2分かかりまし
 た。20店舗なら単純計算で40分かかるのでは? 手作業のほうがかえって
 早いかも。

❸指摘事項への対応

一緒に仕事をしているコンピュータ会社の技術者とも話しましたが、前日日付を指定してEXCEL出力する動きはどの店舗も同じだから、そこの部分をフローとして独立させ、そのフローを店舗の数だけ回すよう、店舗マスタを別に用意してループさせるフローをもう1つ作ってはどうか? というアイデアをもらいました。

➍再挑戦! フローをメインとサブに分け、Loopで繰り返し処理を実現

ということで今回は、EXCELで作成した店舗マスタに登録した店舗別URLを取得し、その数だけデータ取得を繰り返す処理を「メインフロー」、個別の店舗の販売実績データを実際に取得する処理を「サブフロー」に分けて作り直してみました。

メインフローでは「Loop」を使って、同じ処理(サブフロー)を繰り返し実行
サブフローでは、各店舗の販売実績を取得する処理を実行

こうして改めて作り直したアプリを実行した結果がこちら ↓

うまく実行できました。
実際は2店舗目、3店舗目と続きますが、動画が長くなりそうだったので今回は割愛しました。
(10月11日:9日に投稿した動画をYouTubeで編集し直し、差し替えました。ついにYouTubeデビューです!)

※動画を撮影した後にLoopの部分をメインフローに移し替えたため、上述の 
 フロー図と動画で表示されているフローに若干違いがありますが、処理の
 流れは同じです。

❺改善案2の効果
今回、メインフローとサブフローにわけたことにより、フローが整理され見やすくなったことはもちろん大きいのですが、実はもう1つメリットがあります。

それは、店舗が増えたり減ったりしても、フローをメンテナンスする必要がなく、EXCELの店舗マスタを整備するだけで完結する、ということです。
これならRPAを知らない従業員であってもEXCELの内容変更だけで済み、運用管理がスムーズになります。

5.何気ない操作をロボットに再現させるのは難しい?

今回はじめてRPAに触れてわかったのは、パソコン操作というのは、意識して実行するものと無意識のうちにやっていることが混在しているということです。
例えば今回作成したプログラムの中で、「前日の販売実績データを抽出しEXCEL形式でダウンロードさせる」という動作は、

(1)前日日付を入力し
(2)EXCEL出力ボタンをクリック

の2つしかありませんが、RPAを実際に組んでみると、

(1)システムから本日日付を取得し
(2)1を引いて
(3)人が読める(入力できる)形に変換して
 前日日付を取得するのに、ここまで3ステップかかりました。

 → ここで「Wait」というアクションで数秒の待機時間を挟み、
(4)(3)を日付入力枠にセットし
 → ここにも「Wait」
(5)Enterキーを押して
(6)Tabキーを押して
 → またまた「Wait」
(7)EXCEL出力ボタンをクリック


のように3倍以上の操作を覚えさせる必要があります。
特に、システムの動作のタイミングに合わせて「Wait」で待機時間を設けるのは、RPAならではの設定ではないでしょうか。

Wait!待て

RPAでロボットに人間と同じ操作を再現させるのは意外と大変だと思うと同時に、人間の無意識の能力というのは本当に凄いものだと感心してしまいました。



この記事が気に入ったらサポートをしてみませんか?