RPAコラムRPA-COLUMN

【コラムまとめ】RPAによる公文書取得の自動化~オフィスステーション~

投稿日:2021-03-04
RPA 社労士 まとめ3

こんにちは。社労士事務所RPA研究会事務局です。

今回はオフィスステーションを使用した公文書取得のロボットを例に

RPAの組み方や考え方について解説いたします。

※当コラムは
RPAによる公文書取得の自動化⑥
RPAによる公文書取得の自動化⑦
RPAによる公文書取得の自動化⑧
RPAによる公文書取得の自動化⑨
RPAによる公文書取得の自動化⑩
RPAによる公文書取得の自動化⑪
を全てまとめ、ひとつで読める内容となっております。

こちらのロボットで行う手順は

  1. オフィスステーションにログイン

  2. 公文書でダウンロードするものがあればダウンロード

  3. 会社ごとのフォルダに振り分け

  4. コメントがあれば同様にダウンロードし会社ごとのフォルダに振り分け

  5. ②~④を繰り返し

という流れになります。

RPAによる公文書取得の自動化①と同様に、人間が手作業で行っている様々な判断を、

どのようにしてRPAで認識させるかが、ロボット作成の際に重要なポイントとなります。


① オフィスステーションのログイン

まずは「① オフィスステーションのログイン」について解説させて頂きます。

乱数表認証

上記のような乱数を用いた認証画面が存在します。

アカウントごとに使用している乱数表から、

そのときに表示されている乱数に該当する数字を抽出する必要があります。

この乱数の抽出はExcelで乱数表を作成し、関数で入力する数字を抽出します。

 

乱数表Excel

※画像内の数値は、例としてランダムに入力しております。

  1. 表示された乱数をロボットで取得し、用意したExcelのA列に記入

  2. G列より右側の表で、関数により該当する数字を表示

  3. その数字をロボットが再取得し、オフィスステーションの認証画面に入力

この流れでログインが可能となります。

※2021年3月時点の内容です。今後更新されていく可能性がございます。


オフィスステーションにログイン後、帳票一覧を開き、

ダウンロード対象の公文書があればダウンロードしていきます。

このとき、公文書 未取得/全件の項目が「1/1」となっていれば

ダウンロード対象、「0/1」であればすでにダウンロード済みという状態です。

ロボットとしては「1/1」と表示されている箇所をクリックさせたいのですが、

実務上は少し厄介な点があります。

  • 公文書が既にダウンロード済みで「0/1」になっている行がある

  • 公文書の隣にあるコメント欄のほうが「1/1」になっている場合がある

といったケースです。


コメントと公文書を見分ける工夫

まずは、「1/1」がコメントによるものなのか、公文書によるものなのかをロボットに判断させる必要があります。

そこで今回は、クリック対象の画像を次のように指定しました。

帳票一覧1

  • 「1/1」の数字だけでなく、その右側の桃色の部分まで含めて画像として登録する

帳票一覧2

こうすることで、コメント欄の「1/1」と、公文書 未取得の「1/1」を見分けられるようになり、公文書 未取得/全件の項目だけをクリックできるようになります。


新たに発生する問題と「精度%」の設定

ただし、このままでは新たな問題が発生します。

上記のように広い範囲で画像を登録すると、公文書がダウンロード済みで「0/1」の場合にもクリックしてしまうことがあります。

これは、認識範囲が広くなったことで、
「1/1」と「0/1」の違いが、ロボットの画像認識にとっては “誤差の範囲” になってしまうためです。

そこで登場するのが、RPA(EzRobot)の「画像認識の精度(%)」設定です。

EzRobot画像精度

EzRobotで「画像認識でクリック」を使用すると、設定画面の一部に「精度」という項目が表示されます。

上記はEzRobotの「画像認識でクリック」を指定した際に表示される画面の一部です。

  • デフォルト値:80%

この精度は、例えば
「表示される画面が多少変わっても、大体この位置のこのパーツをクリックしたい」
といった “ざっくりした指定” に対応するための機能です。

今回は逆に、この値を 標準よりも高めに設定 し、より厳密な画像マッチングをさせることで、

  • 公文書 未取得の「1/1」だけ

  • ダウンロード済みの「0/1」やコメント欄の「1/1」は除外

という判定ができるように調整しました。


テスト時に必ずチェックしたい2ポイント

画像認識を使ったロボットを作成する際には、EzRobotのテスト機能(LINE実行等)を活用しながら、次の2点を必ず確認することをおすすめします。

  1. 画面に表示されているとき

    • 正しく画像を認識し、クリックできているか

  2. 画面に表示されていないとき

    • 誤って関係のない箇所を認識していないか

この2つを意識してテストを行うことで、「たまたま動いた」ではなく「安定して動く」ロボットに近づけることができます。


続いて、

公文書取得フローのうち
「③ 会社ごとのフォルダに振り分け」 の部分について解説させて頂きます。

人が手作業で行う場合は、例えば次のような流れです。

  • 対象ファイルを「切り取り」

  • 貼り付けたい会社フォルダを開く

  • フォルダ内に「貼り付け」

オフィスステーション公文書

これをRPAでそのまま再現しようとすると、

  • フォルダを探すための検索

  • フォルダを開く操作

  • ペースト操作

  • それぞれに必要な待機(秒数)設定

といった指示が必要になり、どうしても
1件あたり 7〜10工程+待機時間で合計15工程前後 になりがちです。


工程を減らす発想:フォルダパスを「作って」移動する

RPAシナリオを作成する際は、

  • 後から見たときに分かりやすいか

  • ロボットの稼働時間を短くできるか

という観点から、工程数はできるだけ少なくすることをおすすめしています。

EzRobotには「ファイル移動 / フォルダ移動」という機能があり、

指定したファイル(フォルダ)を、
指定したフォルダパスへ一気に移動する

ことができます。

ただし、顧問先ごとにフォルダパスが異なるため、
そのままでは「どの会社のどのフォルダに移動するか」が指定できません。

そこで登場するのが Excel+関数 です。


Excelで「会社ごとのフォルダパス」を自動生成する

 

RPAフォルダパス関数

公文書をダウンロードする際、
ロボットはすでに 会社名を変数に格納 しています。

  1. 変数に格納した会社名をExcelのA列に書き込み

  2. 関数で「その会社用のフォルダパス(B列)」を自動生成

  3. 生成されたフォルダパスをロボットが読み取り、「フォルダ移動」アクションで一気に移動

という流れにすることで、

本来なら 7〜15工程かかりそうなフォルダ移動が、
「ファイル移動/フォルダ移動」+α程度のシンプルな工程 に圧縮できます。


ついでに必要な情報を一緒に管理する

会社ごとのフォルダパスを管理するExcelには、あわせて

  • 手続き名

  • 従業員名

  • 「名前を付けて保存」に使うファイル名のルール

  • その他ロボット実行に必要な付加情報

なども一緒に持たせておくことができます。

これにより、

  • フォルダ移動

  • ファイル名の命名

  • 後続処理で参照する各種情報

といったものを、すべてExcelから一括で引き出す設計が可能になります。


Excelを「頭脳」として使う発想

今回のケースも、

などでご紹介した内容と同様に、
RPAの途中にExcelを挟むことで、複雑な判断や文字列処理を実現している例 です。

RPAで繰り返し処理を行う場合、

「繰り返すたびに違う情報(今回だと会社名など)を参照したい」

という場面では必ず「変数」を使いますが、
そこに Excel関数を組み合わせることで、
情報をかなり自由に加工・生成できる
ようになります。


RPAだけで完結させようとしない

RPAソフトが高機能になるほど、
「RPAの機能だけで何とかしよう」と考えてしまいがちで、

「この機能がないからできない」
「RPAだけでは限界がある」

といった行き詰まりを感じるケースも少なくありません。

しかし実際には、

  • Excel

  • 社労士ソフト

  • ブラウザ

  • その他の外部ツール

などを 積極的に組み合わせること が、
現場の業務を無理なく自動化していく近道です。

今回の会社別フォルダ振り分けも、
「RPA × Excel」の組み合わせで、
よりシンプルでメンテナンスしやすいロボットにすることができました。


コメントの特徴と、公文書との違い

オフィスステーションでは、公文書とあわせてコメントが届くことがあります。

ここで注意したいのは、

  • 公文書:必ず 1 件

  • コメント:複数件届く可能性がある(最大 3 件)

という違いです。

そのため、
RPAによる公文書取得の自動化⑦」で行ったように、
公文書部分を 1/1 で画像認識させる、という方法はコメントにはそのまま使えません。

「コメントは最大 3 通」と聞くと、

  • 1/1

  • 1/2、2/2

  • 1/3、2/3、3/3

6パターンぶん画像を用意する必要があるのか?
と思われるかもしれませんが、実際にはそこまで細かい分け方は不要です。


公文書とコメントを見分ける画像の撮り方

まず大前提として、公文書とコメントをきちんと区別できる画像の撮り方が重要です。

そのため、コメント数が表示されているエリアだけでなく、
「納付状況」の列も含めて範囲指定して画像を撮影します。

こうすることで、

  • 公文書の 1/1 なのか

  • コメントの 1/1〜3/3 なのか

を、RPA側でしっかり判定できるようになります。

さらに、コメント処理でポイントになるのは、次の考え方です。

  • コメントが 0件 のときはクリックしてはいけない

  • コメントが 1〜3件 のときはすべてクリック対象にしたい

つまり、コメントの「分母」(全件数)はそこまで重要ではなく、
「0件かどうか」を見分けられればよいという整理になります。


画像認識と「精度(%)」の調整

最初に 1件分のコメント画像でテストをしたところ、
精度(%) をあまり高く設定していなくても、2件・3件の表示も同じ画像として認識できることがわかりました。

この結果から、

  • 0件(0/0)は認識しない

  • 1〜3件(1/1, 1/2, 2/2, …)は認識する

という動きを、1パターンの画像と精度(%) の調整だけで実現できるのでは?
という発想になります。

そこで、精度(%) を少しずつ変更しながらテストを繰り返した結果、

  • 0件のときは画像として認識しない

  • 1〜3件のときはすべて正しく認識する

というポイントとなる精度(%) の値を見つけることができました。

結果として、

  • コメント用に 6パターンの画像を用意する必要はなく

  • 1つの画像+精度(%) 調整のみで対応できるようになりました。


RPAで画像認識を使うときのコツ

画像認識はとても便利な反面、

  • 指定する範囲

  • 対象画像

  • 精度(%)

の組み合わせによって、認識結果が大きく変わる「曖昧さ」も持ち合わせた機能です。

そのため、実務で使う際には、

  • 画像が画面に表示されているとき
    正しく認識・クリックできているか

  • 画像が表示されていないとき
    誤って認識していないか(=何もしない状態になっているか)

という 2 点を、LINE実行などのテスト機能で必ず確認することをおすすめします。

今回のコメント処理のように、

  • いくつかの画像パターンを用意して素直に作るか

  • 画像認識の精度(%) を工夫してパターンを減らすか

どちらのルートも「正解」です。

ただ、工程数を減らし、シナリオをシンプルに保つことを意識すると、
ロボットづくりそのものがだんだん「パズルのようで楽しい」作業になってきます。


続いて、

⑤:②~④を繰り返す」の部分について解説いたします。

シリーズの前回までで、

  • 公文書やコメントを「画像認識」で見つけてクリックする方法

  • 会社ごとのフォルダに振り分ける方法

などを個別にご紹介しました。
今回はそれらを 「帳票一覧を最後まで処理し切る繰り返しロジック」 としてまとめていきます。


帳票一覧の「ある分だけすべて処理する」考え方

オフィスステーションの帳票一覧画面には、

  • ダウンロードすべき公文書

  • 必要に応じてダウンロードすべきコメント

が、複数行並んでいます。

ここでやりたいことはシンプルで、

「ダウンロード対象があるあいだだけ、ひたすら処理を続ける」

という動きです。

EzRobot では、次の 3 つの機能を組み合わせて実現しました。

  • 条件分岐(画像による分岐)

  • 繰り返し(画像が現れるまで)

  • 繰り返し(画像が消えるまで)


まずは 1 回分の処理フローをつくる

最初に、帳票一覧ページを開いた状態から、

1件ぶんだけ公文書 or コメントをダウンロードするロボット

を組み立てます。

大枠は次のようなイメージです。

・条件分岐(画像がある場合 開始)
 ・ダウンロード作業
・条件分岐(画像がある場合 終了)

・条件分岐(画像が無い場合 開始)
 ・(何もしない)
・条件分岐(画像が無い場合 終了)

ここで使う「画像」は、

  • 公文書の 1/1 表示

  • コメント件数の表示

など、前回までのコラムで説明した「クリック対象の画像」です。

この状態だと、ページ内の対象を 1件だけ処理することはできますが、
画面に複数行ある場合に、2件目以降が残ったままになってしまいます。


「画像が消えるまで」繰り返す

公文書の例で考えると、

  • ダウンロード前:1/1

  • ダウンロード後:0/1

となり、クリック対象の画像は画面から消えます。

つまり、

「まだ 1/1 の画像が残っているあいだは、処理を続ける」

という繰り返しにすればよい、という発想になります。

そこで、先ほどのロボットを次のように拡張します。

 

・条件分岐(画像がある場合 開始)
 ・繰り返し(画像が消えるまで 開始)
  ・ダウンロード作業
 ・繰り返し(画像が消えるまで 終了)
・条件分岐(画像がある場合 終了)

・条件分岐(画像が無い場合 開始)
 ・(何もしない)
・条件分岐(画像が無い場合 終了)

このように組むことで、

  • 対象の画像がある限り、同じ処理を繰り返す

  • すべて 0/1 になって画像が消えたら、自動的に終了

という、帳票一覧の「取りこぼしなく処理し切る」ロジックが完成します。


初心者には少し難しく感じる理由

文章だけで読むと、

  • 条件分岐

  • 繰り返し(画像が消えるまで)

といった組み合わせは、少し複雑に感じられるかもしれません。

とくに、

  • 「今どの条件の中に入っているのか」

  • 「どこからどこまでが繰り返しの範囲か」

といったイメージが頭の中で描きにくいのは、RPA初心者の方なら自然なことです。


EzRobotなら視覚的にイメージしやすい

多機能でエンジニア向けのRPA製品だと、

  • 機能の名前や概念を覚えるだけでも大変

  • 条件分岐とループの入れ子構造が、画面上で追いにくい

といった理由で、途中で挫折してしまうケースも少なくありません。

その点、EzRobot は

  • 上から下へ流れるシナリオ構造

  • 条件分岐や繰り返しの開始・終了が視覚的に分かるUI

になっているため、今回ご紹介したような

「対象の画像があるあいだだけ処理を繰り返す」

といったロジックも、画面を見ながら直感的に組み立てていけます。


まとめ

今回は、公文書取得ロボットの仕上げとして、

  • 帳票一覧ページ内の公文書・コメントを

  • 画像認識と条件分岐・繰り返しで

  • 最後の 1件まで取りこぼしなく処理する

ための考え方をご紹介しました。

ポイントは、

  • まず「1件ぶんの処理フロー」を作る

  • それを「画像が消えるまで繰り返す」形に拡張する

  • 公文書・コメントごとに画像と条件を分けて設計する

というステップで考えることです。

こうした組み立て方に慣れてくると、
ほかの業務でも「あるものを全部処理し切るロボット」が、応用で簡単に作れるようになります。


最後に、

帳票一覧画面でのページ移動と「②〜④の処理を繰り返す」ロジックについて解説いたします。


① 最後のページから処理を始める理由

前回ご紹介したロボットの動きのあと、
「次のページへ進みながら順番に確認していく」という作業に入ります。

ただし、新しいページから順番に処理していくと、
最後のページまで見に行っている間に 新しい公文書が届く可能性 があります。

そこで今回のロボットでは、

  • いったん 一番最後のページに移動 してから

  • 古いページ → 新しいページの順に戻っていく

という考え方で処理を組んでいます。


② ページ内の公文書・コメントを取り切るロジック

帳票一覧ページ内に公文書やコメントが残っているかどうかは、
EzRobotの下記機能を組み合わせて判定します。

  • 条件分岐(画像による分岐)

  • 繰り返し(画像が消えるまで)

  • 繰り返し(画像が現れるまで)

まず、帳票一覧のページを開いたうえで、

  • 公文書やコメントが存在するかどうか を「条件分岐(画像による分岐)」で判定し、

  • あれば、その画像が消えるまで繰り返しダウンロード処理を行う

という構造にします。

ロボットの大枠は、次のようなイメージです。

・条件分岐(対象画像がある場合 開始)
 ・繰り返し(画像が消えるまで 開始)
  ・ダウンロード作業
 ・繰り返し(画像が消えるまで 終了)
・条件分岐(対象画像がある場合 終了)

・条件分岐(対象画像が無い場合 開始)
 ・(作業なし)
・条件分岐(対象画像が無い場合 終了)

この構造により、
そのページにある公文書・コメントをすべて取り切る ことが可能になります。


③ ページ間の移動と「いつまで繰り返すか」

ページ内のダウンロード処理だけでは足りません。

  • 帳票一覧は複数ページにまたがることが多い

  • 何ページあるかは状況によって変わる

ため、

「どこまでページを戻ったら、処理を終えるか」

というゴール条件を、ロボット側で判断できるようにする必要があります。

1ページ目に到達したことをどう判定するか

オフィスステーションの帳票一覧では、
1ページ目にいるときだけ表示が変わる部分 があります(ページ数部分のUIなど)。

その「1ページ目特有の画像」を使って、

公文書取得 RPA

  • その画像が現れるまで「1つ前のページへ移動」を繰り返す

  • 画像が現れたら「1ページ目に到達した」と判断して繰り返しを終了

というロジックを組み立てます。

イメージは以下の通りです。

・一番最後のページへ移動

・繰り返しA(1ページ目の画像が現れるまで 開始)
 ・条件分岐B(対象画像がある場合 開始)
  ・繰り返しC(ダウンロード対象画像が消えるまで 開始)
   ・ダウンロード作業
  ・繰り返しC(ダウンロード対象画像が消えるまで 終了)
 ・条件分岐B(対象画像がある場合 終了)

 ・条件分岐B(対象画像が無い場合 開始)
  ・(作業なし)
 ・条件分岐B(対象画像が無い場合 終了)

 ・1つ前のページへ移動
・繰り返しA(1ページ目の画像が現れるまで 終了)


④ 1ページ目の取りこぼしを防ぐ工夫

上記のままでは、
「1ページ目に戻ってきた瞬間に繰り返しが終了」してしまい、

1ページ目の公文書・コメントが処理されない

という問題が発生します。

このため、実際のシナリオでは、

  • 「繰り返しA」で1ページ目に到達してループを抜けたあと

  • 最後にもう一度、1ページ目に対して

    • 条件分岐B

    • 繰り返しCによるダウンロード処理

を行うステップを、 繰り返しAの外側に追加 しています。

これにより、

  • 最後のページから順に戻りながらすべてのページをチェックし

  • 最後に1ページ目の残りも取りこぼしなく処理する

という、安全な構造が完成します。


⑤ ルール化できればロボット化できる

ここまで文章で読むと、
少し複雑に感じられたかもしれません。

しかしやっていることは、日々の手作業を

「どの順番で、何を見て、いつ終わりにするか」

という ルールに落とし込んでいるだけ です。

同じ「公文書取得ロボット」でも、
組む人の発想によってシナリオの形はさまざまです。

  • まずはシンプルな処理からロボット化に慣れる

  • 徐々に「変数」「条件分岐」「繰り返し」などを使いこなしていく

ことで、自然とこうした構造もイメージしやすくなっていきます。

 

次回コラムへ


EzRobotは社労士事務所向けに、非常に導入ハードルの低い製品となっております。

  • 初期費用0円(導入費用・追加費用・解約費用等一切無し)
  • 契約は月毎更新(年間契約等の縛り無し)
  • 社労士様特価あり(詳しくはお問い合わせください)
  • 無償フルサポート(web会議やチャット、電話等の全てのサポートが追加料金無し)
  • 簡単な操作性(PCスキルが低くても、操作が可能です)
  • 無料トライアル(無料期間中に自動化を実現させ、効果を体感可能です)
  • 専任RPAエンジニアがサポート対応(社労士業務の自動化経験が豊富です)

少しでも興味を持って頂けましたらお気軽にお問い合わせください。

一般企業の業務自動化にも対応しています

中小企業RPA研究会と同様のご案内が可能です。

業務の自動化に興味はあるものの、
「どのように進めていけば良いのかわからない」という場合でもご安心ください。

お気軽にお問い合わせいただければ、最適な進め方や導入のポイントをご説明いたします。

 

「【完全版】ロボット解説」に関する新着RPAコラム

最新のRPAコラム

RPAコラムカテゴリー