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

RPA Blog

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

またエラーだ!ロボットのデバッグをするための工夫

RPAエンジニア 小林

「ロボットを作って実行してみたものの、エラーが出て止まってしまった!」という経験は、ロボット開発をする上で誰にも起こりえることだと思います。エラーが起きても原因を突き止めてロボットを修正すればよいのですが、ロボット開発に慣れていないと、原因を見つけるのに苦労するというのはよくあることです。 今回は、UiPathでロボット開発を始めてみたものの、まだエラーへの対処に慣れていないという人に向けて、ロボットのデバッグがしやすくなる方法を紹介します。

見通しのよいロボットを作る

エラーへの直接の対処ではありませんが、ロボットの見通しをよくすることでエラーが生じたとしても対処がしやすくなります。各アクティビディをそのまま並べる形でロボット開発を行っても機能としては問題ないのですが、ロボットの規模が大きくなると見通しが悪くなってしまいます。見通しをよくするために、処理の目的ごとにグループ化して考え、適切な名前をつけたSequenceアクティビティやFlowchartアクティビティをつなぐ形でロボットを作るとよいでしょう。こうすることで、各アクティビティの関係性や全体構造が見やすくなりデバッグもしやすくなります。

全体像を見通しやすい構造にすることで、デバッグもしやすくなる

全文を読む

UiPathでWebページを操作するときはJavaScriptを活用しよう!その2

UI開発者 宇賀

みなさんこんにちは!UI開発者の宇賀です。

1つ飛ばしになってしまいましたが、RPAとJavaScriptを組み合わせるお話の第2回です。

UiPathではセレクタの理解と利用が必要不可欠ですが、ブラウザを通じてスクレイピングや自動入力処理などを行う際、うまくたどれない要素に出くわすことがあると思います。

JavaScriptのDOM APIに理解のあるデベロッパにはごく当たり前の話ですが、id属性値が設定してある要素は基本的には必ず探索することができます。これは、UiPathによる要素の探索も同様です。

JavaScriptはコンパイルも特別な環境構築も不要で今すぐ挑戦できる技術です。これを利用するだけで、id属性を持たない要素にも簡単に付与することができます。

なお、UiPathでJavaScriptを利用する方法は前回の記事をご参照ください。

UiPathが認識しづらいように細工されたCONGRATS! - Automation Challengeを例に試してみましょう。

全文を読む

ロボットに愛着が持てる名前を付けたほうが良い理由

株式会社ミツエーBPOコンサル 取締役 山下

RPAを導入するとき、多くの場合、ロボットが動くPCにRPAのソフトウェアをインストールし、そのPCをオフィスの中に設置することになるでしょう。今日は、そのPCをどう呼ぶかという割とどうでもいいようで、実は大事な話です。

1.ロボットは自分の仕事を手伝ってくれる優秀なアシスタント

人間が行っている仕事の多くは判断が含まれます。ゆえに、「ロボットには判断ができないので自分の業務はロボットには代替できない。」とあきらめてしまっている人がとても多いと思います。でも、そのような業務を詳しくヒアリングしていくと、確かにその人でなければ判断がつかない部分はありますが、7~8割は判断基準が明確で、頭の中で機械的に処理しているということがよくあります。

もし、その業務のうち、7~8割を自分の代わりにロボットが処理してくれたら随分と時間の使い方が変わってくると思いませんか。

全文を読む

UiPathのInvoke Workflow Fileアクティビティを活用しよう!前編

UI開発者 宇賀

皆さんこんにちは!UI開発者の宇賀です。

今回のテーマは、ロボットをモジュール単位で管理する方法についてです。

UiPathでロボットを作るとき、すべての作業を1つのmain.xamlの中に詰め込んで作る方法もありますが、その中にある機能1つ1つを別のxamlファイルに切り出して管理していくという方法をご紹介します。

少々記事が長くなりそうですので、前編後編に分けてお送りしたいと思います。

モジュール化をする上で重要なアクティビティ「Invoke Workflow File

さて、この前編では「Invoke Workflow File」というアクティビティについて紹介していきます。

早速このアクティビティの利用例を見ていきましょう。

全文を読む

UiPathでVB.NETの表現をうまく使おう!

RPAエンジニア 小林

UiPathを始めとするRPAは、プログラミングに慣れていない人でも開発を行えることが利点の1つとされていますが、 慣れてきたらプログラミングの考えを取り入れることでさらにロボット開発が便利になります。 今回は、UiPathでロボット開発をするときに便利なVisual Basic .NET(以下VB.NET)による表現と活用法を紹介します。

VB.NETとは

VB.NETとは、プログラミング言語の1つです。UiPathではこのVB.NETを使ってロボットにさせたい動作を記述することができます。プログラミング言語というと難しく聞こえるかもしれませんが、例えばオブジェクトを文字列に変換するObject.ToString()はUiPathを使ったことのある人ならおなじみではないでしょうか?このObject.ToString()もVB.NETによる表現(メソッドといいます)の1つです。他にもUiPathで文字列操作をしたことがある人なら、String.Split()String.Substring()などのメソッドも使ったことがあると思います。このようにUiPathでのロボット開発において、VB.NETはとても身近な存在です。

便利なVB.NET活用法の例

上記の方法以外にも、使えるようになると便利なVB.NETはたくさんあります。例えば今日の日付を取得したい場合に有効なのがDateTime.Nowです。DateTime.Now.ToString()とすれば今日の日付と現在時刻が入った文字列が得られます。さらにDateTime.Now.ToString("yyyy/MM/dd")という書き方で出力する文字列の形式が選べます。資料に作成日を書き込みたい場合や、実行時刻を記録に残したいときなどに使うと有効でしょう。

全文を読む

どうする?常時SSL化対応の混在コンテンツチェック

株式会社ミツエーBPOコンサル 取締役 山下

Webサイトの常時SSL化対応については、当社のコラムや他のブログで触れられているので、対応のメリットなどはそれらのコンテンツをご覧いただければと思いますが、実際に常時SSL化の対応を進めるにあたって、企業のWeb担当者たちの頭を悩ませることの1つが混在コンテンツ(Mixed content)のチェックと解消ではないでしょうか。

混在コンテンツとは

混在コンテンツとは、HTTPSのページに含まれるHTTPで配信されたコンテンツを指します。 混在コンテンツがあると、そのHTTPコンテンツが攻撃者に盗聴されたり、改ざんされてユーザーが危険にさらされる可能性があるため、ブラウザ側で混在コンテンツの読み込みや実行をブロックしたり、アドレスバーに警告を表示します。

例えばGoogle Chromeの場合、通常はアドレスバーの先頭には鍵アイコンと「保護された通信」というメッセージが表示されていますが、閲覧しているページの中で読み込まれている画像のパスが「http://」始まりで書かれているとアイコンやメッセージが表示されず、バツ印がついた縦のアイコンが表示されてしまいます。

全文を読む

今日からできる!UiPath高速化の工夫3選!!

RPAエンジニア 小林

RPAを使って業務を自動化し、ロボットに作業をさせていると、「もっと速く処理が終わればさらに便利なんだけどなー」と感じる時があると思います。今回は、UiPathの初心者の方におすすめの、簡単にできる高速化の工夫を3つご紹介します。

ロボットにさせる処理の手順を見直す

1つめの工夫は、無駄な処理を行っていないか見直すということです。特に、For EachアクティビティDo Whileアクティビティといった繰り返しの中にある無駄を省くことができれば処理時間の大きな改善が見込めます。例えば、「商品URLが書かれたリスト(Excelファイル)をもとに複数の商品ページを訪問して価格を調べ、同じExcelファイルの各URLの横に各商品の価格を書き込む」という作業を考えます。この場合、次のような流れが考えられます(括弧内は使うアクティビティの例)。

  1. 商品URLリストを読み込み(Excel application scopeRead Range
  2. ページを訪問して(Open Browser
  3. 価格情報を取得し(Get Text
  4. 価格をExcelに書き込む(Excel application scopeWrite Cell

これらの動作をそのままFor Eachなどの繰り返しのアクティビティの中に入れれば所望の動作は実現できそうです。実際にこの手順でも問題なく動作するのですが、この処理を実装したロボットを実行してみると、Excelを開く→価格を書き込む→Excelを閉じるという動作を繰り返しているのが気になります。この場合、Excelを起動する回数を減らすことで処理をより高速化できます。

全文を読む