レコーディング編2017年11月21日RPA今回は、前回一つ一つ登録していったアクティビティをレコーディングという方法で一気に登録する方法について学習します。実際に動かしながらレコーディングの方法に慣れていきましょう。文)早速、始めましょう。RPA入門(2)の記事では一つ一つアクティビティ登録する方法を学習しました。本記事ではレコーディングという方法で一気に登録する方法について学習します。実際に動かしながらレコーディングの方法を学習してみて下さい。レコーディングとは?UiPathのレコーディング機能とは、あなたがPC画面上で行なった操作を自動的にアクティビティとして記録する手法です。ひとつひとつアクティビティを設定する手間が省けますので、使いこなすことによって、ロボットの設定時間を大幅に短縮することができます。アクティビティを自動登録するレコーディングについて学びますが、これは、実際にPCを操作して、アクティビティを連続して自動的に登録していくことです。他のRPAソフトウェアの中には、操作中の画面を動画として記録してアクティビティを作っていくものもありますが、UiPathは、シンプルにアクティビティを自動的に登録してきます。レコーディングをしてみましょう電卓を操作するロボットを作成します電卓を操作起動して、操作させてみましょう。新たにプロジェクトを作成しておいてください。どんな動作を記録しても良いですが、結果を確認するためどんな動作をさせるかはメモするなど覚えておいてください。待機画面レコーディング画面レコーディングが開始されると、以下のウィンドウが出てきます。このウィンドウがでている状態では操作は記録されていません。レコーディングの前に準備が必要な場合は、この画面の時に準備しておきましょう。今回は、予め電卓を起動しておいてください。「Record」ボタンをクリックしてレコーディングを開始しますレコーディング中の挙動マウスを移動するとUI要素がハイライトされるレコーディング中は、操作対象のUI要素がハイライトされます。ハイライトされた領域がUiPathが認識しているUI要素になります。認識されたUI要素は、Selectorと呼ばれる形式で登録されます。Academyを受講してみてください。レコーディングの中身(例)テキストでは、以下の操作をレコーディングしたものとしています。実際にレコーディングしてみましょう。レコーディングの中断の仕方エスケープ(ESC)でレコーディングを中断します。ESCキーを入力すると、レコーディング画面(待機画面)に戻ります。クリックできるようになっているのでこれでメイン画面に記録して戻ります。内にまとめられています。ダブルクリックして中身を見てみると、先ほどレコーディングしたアクティビティが登録されています。設定して実行して見ましょう。(Flowchartを使っていない場合は、StartNodeに設定する必要はありません。)レコーディング結果の編集さて、このままでは、レコーディングした全く同じことを繰り返すロボットが作成されただけです。これでは、業務上あまり役に立たないロボットになりそうです。レコーディング中に例えば「1」をクリックしたところを「6」をクリックに変更したい場合は、どうすればよいでしょうか。変更することによりロボットのクリック対象を変更することができます。直接的に中身を変更することもできます。電卓の「1」をクリックした時のセレクターを覗いてみましょう。applicationframehost.exe、ApplicationFrameWindow、電卓、num1Buttonなどが並んでいます。順番に、アプリケーションの名前、ウィンドウの名前、タイトル、ボタンの名前かなぁというようなイメージが湧いてくるかと思います。試しにそっと、num1Buttonをnum6Buttonに変更するとどうなるでしょうか?各自試してみてください。レコーディングのテクニックレコーディングできるもの、できないもの先ほど、レコーディングを抜ける時には、ESCを押しました。ESCの入力自体は、レコーディングできない動作になっているということです。レコーディングには、自動レコーディングできるものとできないものがあります。自動レコーディングできないものについては、手動レコーディングが用意されています。先ほど、電卓アプリケーションは事前に起動しておいてからレコーディングしました。起動するアプリケーションをウィンドウから選択する方法が用意されています。App」を選択します。その後、起動済みのアプリケーションのウィンドウを選択してください。選択すると、吹き出しがでてくるので、実行ファイルの場所を確認してください。ここで、win32calc.exeとなっているのがわかりますね。「Arguments」というのは、起動時に引数を指定する方法ですが、ここでは割愛いたします。コマンドプロンプトからアプリケーションを起動したことがある方にはイメージがわかるかと思います。「OK」をクリックしてアプリケーションを起動するだけのロボットを動かしてみましょう。確かに電卓が起動したと思います。テキストデータを取得します。取得したテキストの確認テキストをコピーしたアクティビティは、以下の図のようになります。以下のようになっています。(2255は、今回の計算結果なので読み替えてください。ここでは、特に結果を取得したところのSelectorを見てみましょう。なっているところがありますね。’2255’は、今回の計算結果が表示されているだけなので、計算結果が変わるとうまくいかない感じがしますね。取得したテキストを表示させます。他の値を入力させたりして、実行結果を確認してみてください。結果の取得が上手くいかないときは、先程のSelectorが原因かもしれません。Exercise2つの整数の和を計算するロボットを作ってみましょう。普通はやらない方法ですが、Selectorを強引に書き換える方法でもクリックする場所を変更できることを試してみましょう。Basicレコーディングのところで、他のレコーディング方法が見えていたかと思いますが、レコーディングの方法にはいくつかの種類があります。以下、簡単に紹介します。Basicデスクトップアプリケーションをレコーディングする方法です。複数のアプリケーションをまたいだ操作のレコーディングができます。Desktopデスクトップアプリケーションをレコーディングする点ではBasicと同じですが、一つのアプリケーションの操作を続ける場合は、Basicよりも高速に動作します。上の操作を自動化します。Citrixリモートデスクトップなど、Windows上でUI要素が認識されないアプリケーションの自動化に使います。Selectorの概念は、なく操作対象領域の画像マッチで操作を記録していきます。ExerciseBasicと同じように、Desktopレコーディングで電卓の操作をレコーディングしてみましょう。レコーディングでは、操作対象ウィンドウが固定されます。Appの中に定義されていることがわかると思います。Selectorもシンプルになっています。一方のBasicレコーディングでは、全体の操作を囲っているものはSequenceのみで、アプリケーションの起動は単独のアクティビティになっています。Selectorは、アプリケーション名から細かく定義されています。レコーディング先ほどレコーディングした電卓の操作を、Citrixレコーディングでもやってみましょう。Citrixレコーディングは、画像を認識して操作を登録する方法です。画像の認識方法Citirixレコーディングで画像を認識させる方法は、テキストと画像の2種類があります。テキスト画像をOCRなどでテキストに変換して、指定したテキストが見つかったところを操作します。日本語フォントだとうまく機能しない場合もありますが、柔軟な利用ができるので現実的な方法です。画像ドラッグアンドドロップで指定した画像を登録し、指定した画像が見つかったところを基準とした場所を座標などで指定し操作します。Citrixレコーディングをやってみる先ほどレコーディングした電卓の操作を、Citrixレコーディングでもやってみましょう。Citrixレコーディングは、画像を認識して操作を登録する方法です。Citrixレコーディングには、自動レコーディングはありません。手動レコーディングで一つずつ登録していきます。Imageを使うとクリックする領域を選択するアイコンに表示が変わります。クリックしたい領域をドラッグして指定します。Textを使うとOCRを使ってテキストが登場する場所のクリック指定ができます。クリックしたい領域を選択します。続いて、取得したテキストからクリックするテキストを指定します。設定したら実際に動かしてみましょう。同じ動作を定義できる2つの方法があります。それぞれに使いやすいシーンが異なりますが、完全に同じ挙動を記述できます。Decisionフローチャート内での条件分岐を行う方法。大きな視点から条件を分けたい場合に適しています。Ifシーケンスに分岐します。小さな分岐を定義する際に便利です。Decision概要フローチャート内に定義するタイプの条件分岐です。プロパティアクティビティ評価するCondition(TrueかFalseを返す式)を設定し、Trueの場合、Falseの場合で場合分けします。If概要シンプルな条件分岐に最適なシーケンスタイプのアクティビティです。プロパティアクティビティ変数への代入Assign変数に値を代入するアクティビティです。変数の初期値として設定しても同じようなことができますが、アクティビティ内にまとめて整理したい時などに便利です。途中で変数の値を変更したいときにも使います。プロパティアクティビティ繰り返しの制御アクティビティーを戻すフローチャートでアクティビティを後ろのアクティビティに戻して接続する方法です。シンプルに矢印で制御できます。あれば繰り返し実行します。Each複数の要素が入っている配列など、繰り返し処理が可能な変数を受け取ってそれらの要素一つ一つに対して処理を実行します。エクセルデータを取り出して一行ずつ処理するなどしたい場合に使います。正解するまで終わらない数当てゲームをロボットで作ってみましょう。新しい概念や操作が多く覚えきれないところもあると思います。情報をここで復習してみましょう。文)について説明してくださいではまた次回。概要編2017年11月17日RPAこのシリーズでは、RPAソフトウェアの使い方を概説します。こんにちは、世界2017年11月21日RPA今回は、UiPathで初めてのプロジェクトを作成してみます。デバッグ編2017年11月21日RPA今回の内容は、おそらく多くの開発者が多くの時間をさくであろうデバッギングについて触れます。アプリケーション自動化編2017年11月21日RPAこちらの記事では、アプリケーションとの連携について学習します。仕事をもっと楽しくクリエイティブに。