【使い方】ロボットを作成するルール

なるべく早くロボットを作成して、運用スタートすることを目指したルールです。ぜひ参考にしてみてください。
わたしはこんなルールを設けてロボットを作成、運用しているという方はぜひご連絡ください!!

1.パラメータはロボットの外で管理する

ロボットが参照するフォルダ、ファイルパスなどのパラメータはロボットの外で管理しましょう。一般的にはエクセルで管理し、ロボットはエクセル内に記載されたパラメータを参照するイメージです。上級者の方はデータベースで管理してもいいかもしれません。

例)
・エクセルで管理する
日報作成作業_マスタ.xlsx


2.命名規則

命名規則1(プロジェクト名など)

ロボットが所属するプロジェクト名やパラメータのエクセルを保存するフォルダなどの命名規則を統一しておきましょう。

例)
・パラメータのエクセルを保存するフォルダ
C:\日報作成作業\パラメータ

・ロボットが出力したファイルを保存するフォルダ
C:\日報作成作業\ロボット

・ロボットが所属するプロジェクト名
日報作成作業

命名規則2(ロボット名)

ロボットは多くの場合プロジェクトの中に複数作成されます。ロボット名をルールにのっとってつけることで管理をしやすくしましょう

・先頭の3桁は数字。10ごとにロボットへ番号を割り当て。あとから追加で作成するロボットが作成済のロボットの間に入れられるようにするため。AとBのロボットがすでにあり、CをAの後に追加した場合が下の例。
例)
10-Aダウンロード
11-Cファイル加工
20-Bメール送信

・ロボット名は日本語
実行内容がわかるようにロボットの名前は日本語で。

・ロボットが何をどうしているか実行内容がわかるようにする
ロボット名からロボットの実行内容がわかるようにする。
例)
10-郵政から郵便番号をダウンロード
11-郵便番号ファイルをフィルタ加工
20-郵便番号ファイルをメール送信

命名規則3(変数グループ名・変数名)

ほとんどのロボットでは変数を使用します。この変数名や変数グループ名をルールにのっとってつけることでロボットの作成・保守を効率よく行いましょう

・変数グループ名や変数名は日本語
変数の役割、意味が分かるように日本語にしましょう。ほかの人へロボットを共有したり引き継ぐ時に、変数名が英語だと説明や理解に時間がかかります。

・取得した箇所の名前を変数名に使う
ブラウザ、エクセル、アプリ、様々なものから値を取得して変数へ格納します。このときの変数名はラベルや列名など、取得した箇所の名前をそのまま使いましょう。別の名前にすると頭の中で変換作業が必要になり、開発や保守作業に余計な時間を取られてしまいます。


3.ロボットを作成するときに気を付けること

・変数の役割は1つに

変数が持つ役割は1つにしましょう。1つの変数が2つも3つもあると、ロボットの処理が複雑になってしまいます(なんでこの変数をここで使っているの?と理解するのに時間がかかってしまう)

・初期化したい変数があるときは専用の変数グループで管理

ロボットの処理の中で変数を初期化する必要がある場合は、その変数を専用の変数グループで管理しましょう。変数グループ初期化アクションで簡単に初期化することができます。
手順:変数グループ初期化

・定義変数は専用の変数グループで管理

フォルダやファイルのパス、WEBサイトのURL、システムのログイン情報など、決まった情報を変数で管理することがあります。このような変数を管理しやすくするため、専用の変数グループで管理しましょう。

・アクションフローを見やすく

修正が発生したときに作業に取り掛かりやすいように、アクションフローをわかりやすくしておきます。アクションフローが見にくいと、フローの内容を理解しにくかったり修正箇所をなかなか見つけられなかったり、修正する作業に時間がとられてしまいます。

 -作業手順のかたまりでブランチをわけましょう。以下の例ではファイルを別名で移動する場合、どのようなブランチの内容になるかを説明しています。
手順:ブランチの追加・削除
 例)
 変数の値の加工(ファイル名生成)ーファイルをコピーーファイルを削除

 -ブランチの先頭にコメントを書きましょう。ブックマークアクションを作成し、そこにコメントを書きます。コメントはブランチ内の複数のアクションで行っている処理を説明する内容です。
手順:ブックマークの設置

・1作業、1ロボットに分解する

 -1作業、1ロボットに分割することでアクションフローは小さくなり、ロボットが行っている処理内容の把握がしやくすなります。
 たとえば郵政から郵便番号をダウンロードしメールで送る、という作業をロボットにした場合は以下のように分割されます。
10-郵政から郵便番号をダウンロード
20-郵便番号ファイルをメール送信

  分割することであとから郵便番号ファイルをフィルタ加工する作業が追加されても、新しいフィルタ加工ロボットを作成すればよく、作成済のロボットに追加をする必要がありません。

 -ロボットの作業状況の管理を行う
 ロボットが処理を開始していいのか、作業前提となるロボットの処理が終わっているのか、ロボットの作業状況の管理を行いましょう。

例)
「11-郵便番号ファイルをフィルタ加工」は作業開始前に、「10-郵政から郵便番号をダウンロード」が終わっているかを確認する必要がある。
たとえば、所定のダウンロードフォルダにダウンロードしてきたファイルがあることを確認します。

「20-郵便番号ファイルをメール送信」は「11-郵便番号ファイルをフィルタ加工」が終わっているかを確認する必要がある。
たとえば、所定の加工済フォルダに加工済のファイルがあることを確認します。

・変数の整理

ロボットが完成したら変数の整理を行いましょう。使っていない変数は削除しましょう
手順:変数の追加・削除

・アクションの整理

ロボットが完成したら不要なアクション、コメントアウトしたアクションは削除しましょう
手順:アクションの削除

・最適なグループ化をおこなう

どうしてもアクションフローが大きくなってしまったロボットはグループ化を行って、フロー全体を見やすくしましょう。ブランチごとに作業が分かれているので、ブランチごとにグループ化するのがおすすめです。
手順:グループ化

・引数の説明

引数を使って処理を行うロボットの場合、ROBOWEBのスケジュールの概要へ引数の役割を書いておきましょう
手順:スケジュール設定(引数の設定)

・アクションの説明

アクションの実行内容はアクション名を編集して書くようにしましょう。
例)
値の入力:今日の日付


5.安定して動くロボットを

作成するなら安定して動いてくれるロボットがいいですよね。安定して動かすための参考にしてください。

・画像マッチングはできるだけ使わない

アプリ操作で画像マッチングはどうしても使わざるを得ない場合以外は使わないようにしましょう。アプリ操作ではできる限り要素マッチング、それがだめなら文字マッチングを使います。画像マッチングは最後の手段です。

・エクセル操作を行う前に、エクセルの強制終了アクションを実行しましょう。

エクセルの強制終了アクションを行ってから、エクセルのアクションを行うようにします。ブックインデックスのずれによるエラーが発生するのを防ぎます。
手順:エクセルを強制終了する

・スケジュール実行時のログに出力する内容は?

ログ出力アクションを使うと、スケジュール実行のときのログにさまざまなログを出力することができます。そのときの画面ショットも出力できます。出力したらよいものをいくつかご紹介します。
手順:ログ出力

ー登録系の処理では、登録前の画面ショットをログ出力
システムへなんらかの登録を行う場合は、証跡を残すために画面ショットをログ出力することをおすすめします。

ーエラーの原因を調査するためにログ出力
ロボットが操作を行うシステムにイレギュラーなイベントが発生することがあります。そのときは往々にしてロボットの処理はエラーになってしまいます。スケジュール実行のログからではこのときは原因を把握することが難しいです。
そんなときにログ出力アクションを使って、システムの画面ショットをログ出力することをおすすめします。

・エラー発生時の対応の設定をできるだけ行ったほうがいい?

すべてのアクションへエラー発生時の対応の設定を行うのが理想です。でもアクションの数が多い場合は設定の手間、作成にかかる時間を考慮すると現実的ではありません。
手順:エラーが発生したときの処理の設定

ーエラー時の手順が決まっている場合は設定
エラーが発生したときの手順が決まっている場合は設定しましょう。たとえば、システムのログインに失敗しログイン後の画面の操作をできなかった、この場合は担当者にメールを送るという手順がある場合がこちらに該当します。

ー運用を開始しエラーが発生するたびに設定を行う方法も

ロボットの作成では最初からエラーが発生する個所を予見しておくのは、非常に困難です。エラーが発生しそうな個所を探し、エラーが発生したらこう処理する、というのをロボットの作成段階で行っていると作成に時間がかかってしまいます。

エラーが発生することは考慮せず、ロボットの運用を開始、その中で発生したエラーの対処を逐次行っていく、という方法もあります。

・再実行(リトライ)

ロボットは全くエラーがなく運用し続けることができるものではありません。何かしらの理由でエラーは発生します。
エラーがおきたときはロボットの設定を変更します。次に再実行を行いますが再実行に必要な条件や手順をスケジュールの概要へ記載しましょう


6.メンテナンスコストをかけないために

作成したロボットをメンテナンスする機会は必ず訪れます。またほかの人と共有したり、引き継いり渡したりすることがあるでしょう。そのときになるべくコストをかけないための参考にしてください。

・作成するロボットはできるだけ小さくする

3.ロボットを作成するときに気を付けることの1作業、1ロボットに分解するで述べましたが、業務手順をそのまま分解せず1つのロボットにしたらどうなるでしょうか。

1つのロボットのアクション数が多くなり、メンテナンスコストが上がってしまいます。ほかの人へ引き継ぐ時も大変です。

できるだけ業務手順を分解して、ロボットのアクション数を減らせばほかの人へ段階的に業務手順を引き継いでいくこともできます。

・ロボットの処理フローはシンプルに

業務手順をそのままロボットへ設定するのはやめましょう。業務手順の内容によっては処理フローが複雑になってしまうことがあります。フローがシンプルになるように業務手順を変更して、ロボットへ設定することをおすすめします。

たとえば、以下のような業務手順があったとします。
1.エクセルのデータをシステムへ登録。エクセルには伝票とそれに該当する商品が記載
2.伝票を入力した後に、商品の入力を行う
3.商品の入力が終わったら更新ボタンを押し、エクセルの次の行のデータを入力する。ただし、次の行のデータが今入力したデータの伝票番号と同じ場合は、更新ボタンを押さずに続けて商品の入力を行う。

人間にとっては作業効率の良い業務手順ですが、ロボットへそのまま設定するとどうでしょうか。エクセルの次の行を入力するときに判定処理が入り、フローが複雑になります。
ロボットへ入力するときは以下のような手順に置き換えて設定すると、フローがシンプルになります。
1.エクセルのデータをシステムへ登録。エクセルには伝票とそれに該当する商品が記載
2.伝票を入力した後に、商品の入力を行う
3.商品の入力が終わったら更新ボタンを押し、エクセルの次の行のデータを入力する。