Smart Communication Design Company
ホーム > ナレッジ > Blog > RPA Blog

RPA(ロボティック プロセス オートメーション)にまつわる国内外の最新情報をお伝えすると共に、自動化推進に役立つ話題や社内の導入事例などについてご紹介します。
ミツエーリンクスでは「Webサイト運用RPA導入支援」サービスを提供しています。Webサイト運用におけるロボット化にご興味がありましたら、お気軽にお問い合わせください。

Uipathで繰り返し処理を途中再開するための工夫


RPAエンジニア 小林

RPAを使った自動化作業では、繰り返し処理を行うことがよくあります。同じ作業を何度もするのはRPAの得意領域ですが、時には途中で想定外のパターンが生じてしまいロボットが止まってしまうということもあります。小規模の作業ならまだしも、時間のかかる作業を再度初めから動かすのはなるべく避けたいものです。ロボットが止まらない設計も大事ですが、万が一止まってしまっても途中再開がしやすい設計にすることで効率的に作業を進められます。今回は、UiPathでループを途中再開するための工夫を紹介します。

扱う例

Excelファイルに書かれたデータを使って、行ごとに同じ作業を繰り返す場合を考えます。例えば、商品情報が書かれたExcelファイルから各情報を拾い、CMSに入力して商品ページを作るという作業があります。今回扱う例は、Excelファイルの1行目には商品名や価格などの項目名が、2行目から100行目までは各商品の情報が書かれているものとします。

繰り返し処理で扱うExcelファイルの例

処理がどこまで進んだかログを残す

ロボットを途中再開するために最も重要なのは、処理がどこまで進んだかのログを残すことです。Write Cell(セルに書き込み)アクティビティを使ってExcelファイルに逐次書き込んでもよいですし、Append Line(文字列を追加書き込み)アクティビティを使ってテキストファイルに追記していくのもよいでしょう。どこまで進んだか簡易的に見るだけなら、Write Line(1行を書き込み)アクティビティを使って出力パネルに表示するという方法もありますが、実行の記録を残すという意味ではファイルとして出力したほうが無難です。

「Uipathで繰り返し処理を途中再開するための工夫」の全文を読む

UiPath高速化の工夫(フローチャートの構造編)


RPAエンジニア 小林

RPAを用いた業務自動化において、処理にどのくらい時間がかかるかというのはとても重要な点です。 特に、手順が多く処理に時間がかかる場合、「もっと早く処理が終わるといいけど、どのようにロボットを変えたら良いかわからない」ということも多いのではないでしょうか? このBlogでも以前UiPathを高速化するための工夫を紹介しました。 その中でも特に重要なのが、「無駄な処理を行っていないか、手順を見直す」というポイントでした。 今回はさらに一歩踏み込んで、「無駄になり得る処理を効果的に減らす方法」、つまり状況によって必要だったり必要でなかったりする処理を扱うための方法を考えてみます。 UiPathの画面を例として示していますが、フローチャートの構造そのものを扱うのでRPA全般に共通する話でもあります。

「UiPath高速化の工夫(フローチャートの構造編)」の全文を読む

UiPathで呼び出し先のロボットからファイルを参照する


RPAエンジニア 小林

ロボットを動作させるとき、Excelファイルやテキストファイルなど、何らかの外部ファイルを参照するシーンがよくあります。 UiPathで外部ファイルを参照するには、適切なアクティビティに適切なファイルパスを渡せばよいのですが、Invoke Workflow File(ワークフローファイルを呼び出し)アクティビティで呼び出されたアクティビティからファイルを参照する際にはパスの扱いに注意が必要な点があります。 今回は、UiPathで呼び出し先のロボットからファイルを参照する方法について考えてみます。

ロボットから外部ファイルを参照するとき、ファイルが置かれている場所をフルパスで考えたほうがわかりやすい場合と、ロボットから見た相対的な位置(相対パス)で考えたほうがわかりやすい場合があります。 例えば、共有フォルダにあるExcelファイルをロボットで編集するなどの場合は、参照したいファイルの置き場所をフルパスで記述してロボットに参照させることが多いと思います。 一方で、ロボットを動作させる上で一時ファイルを書き出したり、スクリプトを実行したりするということもあります。 このようなロボットの一部とも言えるファイルは、ロボットから見た相対パスで参照する場所を考えたほうが都合がよいことが多いです。

スクリプトなどロボットの動作を補助するファイルを含んだプロジェクトの場合、参照するファイルの場所は相対パスで考えたほうがわかりやすい

「UiPathで呼び出し先のロボットからファイルを参照する」の全文を読む

UiPathで引数の値をどう管理するか?


RPAエンジニア 小林

ロボットを開発して作業を自動化すると、あとは実行ボタンを押すだけで目的の処理を実行することができます。 しかし時には、今までと異なるExcelファイルを読み込みたい、書類に入力する日付を都度変えたいなど、ロボットを実行する前に変数の値を設定したい場合があります。 実行前に設定する機会や項目が多くなると、設定し忘れたり誤った値を設定してしまったりすることもあるかもしれません。 今回は、UiPathで初期値の設定が必要な変数(引数)をどう管理するかについて考えてみます。

外部からロボットに渡す値は引数として定義する

ロボット内のアクティビティ間で渡す値を変数と呼びますが、その中でも特に外部からロボットに渡す値を引数と呼びます。今回設定するのも、ロボットの実行時に設定しておく必要がある値(=ロボットの外部から管理したい値)なので引数と言えます。まず、引数は引数であることが分かるように設定しておきましょう。UiPathの引数はデザイナーパネルで「変数」の横にある「引数」の項目で設定できます。引数の使い方は基本的に変数と同じで、各種アクティビティ内で使うことができます。通常の変数との違いは、引数として設定することで、他のロボット(ワークフローファイル)とやり取りする値として使うことができるという点です。今回紹介する例ではロボット間の値の受け渡しは行わないので、全て通常の変数として設定しても問題はないのですが、今後の拡張性やロボットとしての見通しのよさを考えると、外部から渡す値は引数として設定したほうがよいでしょう。

デザイナーパネルで、「変数」の横にある「引数」の項目を使って引数を定義できる

「UiPathで引数の値をどう管理するか?」の全文を読む

公共機関で加速するRPAの導入


UI開発者 宇賀

大手企業を中心に導入が進み、日々拡大するRPAの市場規模。もはやすっかり「RPA」というキーワード自体が珍しくなくなってきている印象です。

RPA元年から数年、昨今では私企業だけではなく公的機関でも導入が進んでいます。

「公共機関で加速するRPAの導入」の全文を読む

あれ、値が何か違う...?UiPathでExcelのセルを読み込むときに気をつけたいこと


RPAエンジニア 小林

UiPathを使ったExcelの操作は、自動化の中でも特によく行う作業だと思います。 Excelまわりの操作をするアクティビティの代表例として、特定のセルの値を読むRead Cellがあります。 Read Cellアクティビティでは、セルの位置(A1など)を指定してその値を特定の変数に入れるだけなので設定は簡単ですが、注意が必要な点もあります。

まず注意したいのが、読み込みたいセルのExcel側の表示形式とその値を格納する変数の型です。 例えば、Read Cellアクティビティで読み込みたいセルの値が、Excel側では数値として表示されているのに、出力としてString型の変数を指定していると、エラーとなりロボットが止まってしまいます。もちろん、読み込みたいすべてのセルが文字列形式で表示されていることがあらかじめわかっている場合はString型の変数を指定しても問題ありません。しかし、そうでない場合はGenericValue型の変数を使ったほうが良いでしょう。例えば、読み込んだ値を(数値や日付などの表示形式にかかわらず)すべて文字列として扱いたい場合でも、いったんGenericValue型の変数に格納してからObject.ToString()メソッドを使って文字列に変換したほうがエラーは起きにくくなります。

Read Cellアクティビティで読み取った値は、基本的にGeneric Value型の変数に格納する

「あれ、値が何か違う...?UiPathでExcelのセルを読み込むときに気をつけたいこと」の全文を読む

UiPath Forward Japan 2019 参加レポート


UI開発者 宇賀

先日、UiPath Forward Japan 2019 というイベントに参加しました。

※ 本イベントは参加するために招待コードが必要な非公開イベントのため、具体的な内容は避けてお送りいたします。

印象深かった登壇内容の1つが、AIやOCR(Optical Character Recognition/Reader)との連携についてです。 これらと組み合わせて運用する方法は、紙媒体でのやり取りが多く残る企業によってはやはり大変重要なようです。

基調講演に続いた茨城県知事による、県庁業務のRPAによる効率化についての紹介も興味深い内容でした。UiPath社のプレスリリースで公開されているような、多くの時間創出を実現できたそうです。こうした素晴らしい前例が誕生した今、あっという間に公的業務の中でUiPathが利用されるようになり、RPA/DXはますます爆発的な躍進と浸透を遂げていくことでしょう。

一方で、民間企業のそうそうたる面々によるセッションでは、当社でいう「RPAエンジニア」の育成と、作ったロボットの保守運用についてが共通の議題として上げられていました。 事例紹介としてUiPath導入までのKSF(Key Success Factor)の明確化や、BPR(Business Process Re-engineering)への取り組みなどを紹介していましたが、最終的にはどの企業も保守運用とEUC(End-User Computing)を課題にしていたように思います。

中でも「いかにUiPathの使い方を既存スタッフに理解してもらうか」という話は、特に印象深かったです。もちろんEUCの道を選ばなかった企業もありましたが、しっかりリソースを確保し学習コストをかけて育成すれば実りのあるEUCを実現できたという多くの実例を聞くことができました。

さまざまな成功と失敗、手法が数多く紹介された素晴らしいイベントでした。UiPathForward Japan 2018が昨年ありましたので、来年にはまた違ったRPAのトレンドや実例が聞けるかもしれません。今から楽しみですね。