デジタル世界に生きるメモ

デジタル世界に生きるメモ

なるほどなーと思ったインターネットのことや音楽のことや趣味全般について、メモ的に書いているブログ。

Amebaでブログを始めよう!

UiPathのお時間です。

今日のUiPathは二本立て。

1.TryCatchでエラーを回避

すでに多くの方が解説されていますが、大事なのでUiPathでのエラー回避について。

まずは動画をご紹介します。

 

 

以下、動画と同じことの解説です。

 

TryCatchは例外処理やエラー回避をするために使用します。

数値の計算をするのに文字列が含まれているときであったり、ファイル選択画面でファイルを選択していないときであったり、そのまま進められないときに使用します。

 

TryCatchは次の構成になっています。

  • Try  → エラーが怒るかもしれない処理を入れます
  • Catches → エラーが起きた時の処理を入れます
  • Finaly → エラーに関係なく最終的に実施する処理を入れます

具体例を見ましょう。入力ダイアログで数値を入れさせて、数値を1.1倍(10%増)して税込額を表示するという、あまり役に立たないフローを作成しました。

ワークフローを補足すると、入力された数値は変数「Num」に格納しています。

この変数は「Cint()」でGenericValue型(文字列)からInt型(数値)に変換しています。

数値に変換した入力データに1.1をかけて(*1.1)、結果をメッセージボックスで表示しているという動きです。

 

ここにアクティビティからTryCatchを持ってきて、エラーが起こるかもしれない代入のアクティビティを「Try」の中に入れます。

この動きは、代入のアクティビティを右クリックして「トライキャッチを使用して囲む(Ctrl+T)」でも代用可能です。

 

「Catches」では、エラーの種類を選び、そのエラーが起きた時の処理を入れます。

エラーの種類はいろいろあり、複数のエラーを設定できますが、「System.Exception」を選んでおけば「エラー全般」を拾ってくれるので、よくわからなければ「System.Exception」を選択しておきましょう。エラーが起きた時の処理ですが、今回はそこでワークフローを終わらせるようにしました。

 

「Finaly」は今回は設定していません。これで一通りの形になりました。

正直なところ、このワークフローはTryCatchを設定してもしなくても、ほとんど動きは同じ(結局エラーになって終わる)なので、設定する意味はあまりないのですが、繰り返し処理をするときや、エラーログを取得したいとき、エラーで動かなくなるのを避けたいとき、などは設定しておくとよいでしょう。また、ちゃんとエラーを考えてワークフローを組んでいくこと自体が大事かと思います。

2.TryCatchが動かない

このTryCatchをやっていて、いちばん無意味に躓いたのが、TryCatchを組み込んだのに、TryCatchの処理が進まずに、エラーになることです。
もし同様の事象が起きている方がいたとしたら、設定の見直しはもちろんですが、「実行」をちゃんと押しましょう。
UiPathの青い再生ボタンは、そのまま押すと「現在のファイルをデバッグして実行」することになります。これだと、せっかくTryCatchの設定をしてもエラーのデバッグをしてしまいます。なのでデバッグをしないで実行する「実行」をすればOKです。
  • 現在のファイルを実行(Ctrl+F6)
  • Mainを実行(Ctrl+F5)

TryCatchが動かない、効かない、うまくいかないときはこちらでお試しください。

 

UiPathアカデミーが初心者には難しい!

ので、もうちょいと簡単に落とし込んだ内容をお届けしています。

 

今回はUiPathで文字を入力したいときの操作方法と、それがうまくできないときの解決方法をご案内します。

うまくできない人は、さっさと解決したいはずですので、先に課題解決をご紹介して、そのあとに、基本的な文字入力操作についてご説明します。

 

 

【課題】

UiPathでGoogleやYahooを立ち上げて何かを検索する、という操作をレコーディングしたときに、なぜか、レコーディングの際は入力欄が正しく動作しているのに、再現しようとすると、入力欄に文字列を入力してくれない、ということがあります。

 

【結論】

結論からすると、下記の図のように、プロパティのオプションで、「アクティベート:True」以外の項目を消したらうまく動きました。

 

 

【制作物】

作っていたのはサンプルレベルのモノです。

Yahooを開いて、「よーどらんひかり」と検索した際に表示される検索結果件数をメッセージボックスで表示させるもの。

下記が完成したワークフローです。

これをウェブレコーディングで記録して作成しています。

 

【作成方法】

レコーディングからウェブを選択し、ブラウザーを開きます。

 

この時、事前に、これから操作するブラウザでURLを開いておく必要があるものだと理解しました。

一般ユーザーの感覚からすると、ブラウザを開くところから記録するのだから、記録を開始してからブラウザを開くんじゃないかと思いますが、デスクトップ画面から指定のブラウザアプリケーションを開くのはコンピュータ的には記録しづらいようですね。ぶつぶつぶつぶつ。。

 

開いていたブラウザをクリックすると、URLを入力する画面がでます。URLを入力してOKボタンを押します。

続けて、操作をレコーディングします。レコーディングボタンをクリックします。

 

何を操作するか、マウスオーバーしたところが青くなります。検索窓をクリックして指定すると、入力値が入れられます。

今回は、特に意味はありませんが、「ヨード卵・光」の検索です。指示のとおり、入力後にEnterを押します。

 

入力内容が確定したら、次の「検索」ボタンをクリックします。

 

ここで一度Escキーを押して記録を終了します。

 ・終了 :Escキー

 ・一時停止 :F2キー(3秒間停止します)

  F2キーは、カーソルを当てると表示されるメニューを記録するような際に重宝します

 

ウェブレコーディングのテキストから「テキストをコピー」を選択します。

 

見えづらいですが、検索結果が何件か、という件数(今回は261,000件)にカーソルを合わせて、文字列を取得します。

 

保存&終了で記録を終了します。

最後に、取得した文字列「テキストを取得」のプロパティの出力値をメッセージボックスで表示しておしまいです。

(デフォルトでSpanが入ってたので手抜きでそのまま使用しました)

これでYahooで「よーどらんひかり」を検索をした結果の件数を表示する操作を記録することができました。

 

動画の解説をつけてみました。

 

【補足】

冒頭で、文字を入力をした際に、入力されない問題について、「アクティベート:True」以外の項目を消しましょう、とお伝えしましたが、厳密には「入力をシミュレート」を消すだけでも、解決できるかと思います。また、ブラウザ、文字が日本語かどうか、でも動きが違うので、必ずこの設定変更が必要というわけではありません。

 

下記、できるネットで、このオプションの値についての説明がありますのでご参考までに。

https://dekiru.net/article/17717/

 

 

 

RPAツールであるUiPathは、Officeソフトのようなレイアウトなので、比較的親しみやすいユーザーインターフェースかと思って使用しています。ただ、NTTデータのWinActorと比較すると、ややプログラミング知識を要すると思う点が見受けられるのも確かなところです。

 

まったくもってプログラミングを知らなくて、拒絶反応レベルで苦手な場合は、やはり抵抗があるかと思いますが、ExcelVBAを修正するくらいの経験があったり、アナログで取り扱っていたものをシステム化する際の作業を携わっていたり、その初期設定を手伝っていた方が興味を持ったならば、あとは身近にサポートしてくれそうな人がいればなんとかなると思いました。

 

 

なお、公式にUiPathをトレーニングできるUiPathアカデミーというものがあります。

 

UiPath アカデミー

 

 

2019年10月現在、日本語のトレーニング内容として受講できるのは下記のとおりです。

 

Level1:Foundation(基礎)トレーニング

Level2:Orchestratorトレーニング

Level3:Advanced(上級)トレーニング

 →この3点は「RPAディベロッパー向け 学習プログラム」としてセットになっています。

RPA Developer SAP Automation Training

 

こちらのトレーニングは動画を挟みながらのトレーニングとなっており、

その動画はYoutubeからでも確認できます。

 

ただ、正直このトレーニング内容は「わからない人」にむけて作っている感じがなく、試しに1つ2つUiPathでロボットを作れた人でも置いてかれる感じがする内容です。

あくまで公式なので、内容の正しさを理解するようにして、初期段階はほかの書籍等を参照すると良いかもしれません。

 

 

by カエレバ

 

by カエレバ