レコーディング機能を使ってプログラミング無しで自動化してみよう

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
レコーディング機能について

UiPathをインストールしてみたけど、アクティビティが多すぎてどれを使えばよいのか分からない!もっと簡単に自動化できないの?などと感じたことはないでしょうか。
UiPathにはあなたが行った操作を自動でアクティビティに変換してくれるレコーディングという機能があります。

今回はプログラミング無しで自動化を実現できるレコーディング機能の使用方法を覚えましょう。

この記事の目標レコーディング機能の基本的な使い方を理解し、アプリケーションの起動と文字の入力を自動化しよう。

使用するアクティビティ
・Type Into
・Send Hotkey

レコーディング機能とは

Step1 レコーディング機能とは

レコーディング機能とは、あなたが行った操作を自動でアクティビティに置き換えてくれる素晴らしい機能のことです。

レコーディング機能を使用することによって、プログラミングやアクティビティをよく知らない人でも簡単に操作を自動化することができます。またひとつひとつアクティビティを配置して開発するのに比べ、大幅な時間の短縮が可能となります。

レコーディングのメリットとデメリット

メリット

  • プログラミングをよく知らなくても簡単に操作を自動化できる。
  • 自動で適切なアクティビティを選択してくれるためアクティビティを知らなくても自動化できる。
  • 面倒な変数の作成やセレクタの指定など自動で設定してくれる。
  • 作成後に手動で内容を変更できる。

デメリット

  • 細かな設定をするには結局アクティビティやプロパティを理解しておかないといけない。
  • 何度もレコーディングを繰り返すと、デザイナーパネルが見づらくなる。
  • あまりに長い操作の場合、エラー発生時の調査が大変。

レコーディング機能の使い方

Step2 レコーディング機能の使い方

ここでは、レコーディング機能の使い方を学習し、実際にレコーディング機能を使って文字の入力を自動化してみたいと思います。

リボンの「Design」タブにある、「Recording」ボタンを押すことによってレコーディング機能を使用することができます。「Recording」ボタンを押すと「Basic」など4つのモードが表示されるので、ここでは「Basic」を選択してみましょう。

Basic(ベーシック)レコーディングを使ってみよう

「Basic」レコーディングを選択すると、以下のような画面に遷移します。

ベーシックレコーディング開始画面

ウイザード(Wizards)

操作の保存または自動レコーディングを行います。

Save & Exitレコーディングした操作をアクティビティとして保存します。
Record自動レコーディングを開始します。

アクション(Actions)

操作をひとつずつ指定していく手動レコーディングを行います。

Start Appアプリケーションの起動や終了の操作を記録します。
Clickボタンのクリックやプルダウンの選択などクリックに関する操作を記録します。
Type文字の入力に関する操作を記録します。
Copy文字のコピーや画面上のデータ取得に関する操作を記録します。
ElementClickやTypeのほか、要素の位置検索やWindowを閉じる操作を記録します。
Textテキストの選択や、右クリックなどテキストに関する操作を記録します。
Image画像が非表示になるまで待機することや画像の検索などに関する操作を記録します。

アプリケーションの起動

「Basic」レコーディングの開始画面を表示しておきメモ帳を新規に起動しましょう。その後「Start&App」から「Start App」を選択すると、各要素を選択できる画面になります。

メモ帳にマウスを当て、メモ帳全体が選択されていることを確認してクリックします。

アプリケーション起動時の選択画面

ポップアップが表示されて「Application Path」と「Arguments」の入力項目が表示されます。

アプリケーション起動時のポップアップ

Application Pathアプリケーションを起動する実行ファイルのパスを入力します。通常は、選択したアプリケーションのファイルパスが既に設定されている状態になっています。
Argumentsアプリケーション起動時に渡す引数を設定できます。今回、引数は使用しないため空欄のままとします。

規定値のまま「OK」ボタンを押すと、「Basic」レコーディングの開始画面に戻り、「Save&Exit」ボタンが活性化していることが確認できます。

Saveボタンが活性化しているベーシックのレコーディング開始画面

PointUiPathにおいてアプリケーションの起動は対象アプリの画面を選択することで起動の自動化ができます。対象のExeファイルや起動ショートカットファイルを指定するわけではないのでその点注意しましょう。

文字の入力

文字の入力はアプリケーションの起動と同じように、手動レコーディングの「Type」を選択することにより可能ですが、ここでは自動レコーディングを使用して文字を入力してみようと思います。

メモ帳を開いたまま「Record」ボタンを押してみると起動の時と同じように選択画面となります。今回はメモ帳全体ではなく、メモ帳の入力部分を選択しましょう。

メモ帳の入力部分が選択されている画像

「Type The desired value」というポップアップが表示されるので、入力部分に「自動レコーディングで文字を入力中」と入力しましょう。入力後エンターを押すとメモ帳に文字が入力され始めます。

文書入力時の画面

入力が完了したら、「Esc」ボタンを押して開始画面に戻ります。最後に「Save & Exit」ボタンを押して一連の操作をアクティビティ化しましょう。

ベーシックのレコーディング開始画面に戻ってきた

UiPath Studioの画面に戻るので、きちんとアクティビティが作成されていることを確認後、Runを押してメモ帳の起動から文章入力までの一連の操作が自動化されていることを確認しましょう。なおEnterCtrlキーなど特殊なキー入力もリストから選択することによって自動化できます。

 

入力画面に表示されたプロパティの内容です。

Type password

「Type password」にチェックを入れることによって入力文字が伏字となります。またUiPath Studio上でも伏字表示となります。なおそのままメモ帳等にUiPathから入力させれば入力した文字が見えるので、完全に入力文字が伏せられるわけではありません。

Empty field

文字の入力前に対象部分に設定されている値を削除してから入力します。

Point文字入力時に半角カタカナを使用すると文字化けになります。半角カタカナを使用する場合は「Type Into」アクティビティのプロパティで「SimulateType」にチェックを入れましょう。

入力スピードを変えてみよう

自動で文字が入力されるようになりました。今度は作成された「Type Into」アクティビティを選択してプロパティパネルを見てみましょう。

多数のプロパティがありますが下の方にある、「Delay between keys」に値を設定して入力するスピードを変更してみましょう。

この項目はミリ秒単位(1000で1秒)で指定します。デフォルトは10ミリ秒ですので「200」と入力して再度実行してみましょう。今回は数値ですので引用符は必要ありません。

DelayBetweenkeysのプロパティ画面

文字の入力スピードが遅くなったのが確認できましたでしょうか。スピードを遅くすることでいかにもロボットっぽい動きになりましたね。
UiPathを知らない人のPCで今回のプロジェクトを実行すると、PCが乗っ取られたと勘違いするのでやめましょう(笑)

Send Hot Keyを送信してみよう

自動レコーディングで自動入力ができました。今度は手動レコーディングを使って、ショートカットキーを送信してみましょう。

①「Basic」レコーディングを選択します。

②レコーディング開始画面で、「Type」→「Send HotKey」を選択します。

③自動入力の時と同様に選択画面になるので、メモ帳の入力部分を選択します。

「Ctrl」にチェックを入れて、Keyの項目に小文字で「s」と入力しましょう。

Send Hot Keyの設定画面

「Ok」→「Save&Exit」を押してStudio画面に戻り、処理を実行してみましょう。
ユーザが「Ctrl」+「S」を押した時と同様に、名前を付けて保存の画面が開いたと思います。

レコーディング機能について更に詳しく

Step3 レコーディングについてもっと詳しく説明する

レコーディング機能についてもう少しだけ詳しく説明します。

レコーディングモードの違い

レコーディングの4つのモード

レコーディング機能の中でも、モードや自動手動などの違いがあるので、ここで理解しておきましょう。

Basic

Windowsの全てのアプリケーションに対応しています。複数のウィンドウをまたぐ操作や単一のアクティビティをレコーディングする際に使用します。

Desktop

Windowsの全てのアプリケーションに対応しています。単一ウィンドウ内で複数の操作をレコーディングする際に使用します。

Web

Webアプリケーションやブラウザ操作をレコーディングする際に使用します。UiPathではIE11以降、Firfox50以上、最新Chromeのブラウザを推奨しています。

Cirtix

仮想環境上の操作をレコーディングする際に使用します。自動レコーディングは行えず単一アクションのみレコーディングできます。

BasicレコーディングとDesktopレコーディングの詳細な違いについては以下を参照してください。

BasicとDesktopレコーディングのたった1つの違い

自動レコーディングと手動(単一アクション)レコーディング

レコーディングは更に自動レコーディングと手動レコーディングに分けられます。基本的に自動レコーディングと手動レコーディングを組み合わせて一連の操作を自動化していきます。

自動レコーディング

自動レコーディングの画面

行った「一連の操作」をアクティビティに置き換えてくれます。ただし自動レコーディングでできないこともあり、それらは手動レコーディングで設定していきます。

できること

  • ボタンやチェックボックス
  • ラジオボタン、リストの選択などの左クリック
  • テキストの入力

できないこと

  • アプリケーションの起動
  • ESCボタンの押下
  • 右クリック
  • Ctrl + Sなどのショートカットキー
  • Shift + クリックなどの修飾キー
  • マウスホバー
  • テキストの検索
  • 要素や画像の検索

手動レコーディング

手動レコーディングの画面

自動レコーディングでできないことは手動レコーディングで指定します。よく行われるアクティビティが用意されており操作をひとつずつ追加できます。インターフェースが異なるだけでActivityパネルからアクティビティを配置するのと変わりません。

レコーディングが失敗する場合

UI Frameworkと呼ばれるレコーディング技術を変更してみることによってうまく良くかもしれません。レコーディング実行中にF4を押すことにより使用する技術を変更できます。それぞれの技術の違いは以下の通りです。

UiFrameworkの画面

Default

UiPathでレコーディングを行う際にデフォルト設定されている技術です。基本的にこれで全てのレコーディングが可能です。

Active Accessibility

対象のアプリケーションが古い場合など、Defaultで正常にレコーディングできない時に使用を検討してみましょう。

Ui Automation

対象のアプリケーションが最新の場合など、Defaultで正常にレコーディングできない場合に使用を検討してみましょう。

レコーディング中の便利な機能

esc or 右クリックレコーディングを中止します。
F2レコーディングの開始タイミングを遅らせることができます。プルダウン項目を指定する場合など使用します。
F3対象の選択を範囲指定に変更します。
F4使用するレコーディング技術を切り替えます。

レコーディングの効果的な使い方

①事前にどのような操作を行うか一連の操作を決めておき、ここからここまでとシーケンスごとに分けるとよいでしょう。該当の操作を使用したい場合は呼び出して使用するといいと思います。

②レコーディング機能を繰り返し使用しているとスクリーンショットが多数蓄積していきます、プロジェクトパネルから適時使用していないスクリーンショットを削除してプロジェクト全体のサイズを縮小しましょう。

③複数のシーケンスができてしまった場合は、シーケンスを選択して右クリック→remove sequenceで不要なシーケンスを取り除くことができます。シーケンスに設定されている変数は親のシーケンスに引き継がれます。

今回使用したアクティビティとプロパティ

今回記事内で使用した(レコーディングによる自動設定ですが)アクティビティについて記載します。
既に説明済みのプロパティなどは以前の記事を参照ください。

Start Process

Start Processアクティビティの画面

Basicレコーディング使用時に「Start&App」するとこのアクティビティが作成されます。このアクティビティは指定したアプリケーションを新規に起動します。
Desktopレコーディング使用時に作成されるアクティビティは「Open Application」であり、こちらのアクティビティでは新規にコンテナを作成しません。

プロパティ

Argumentsアプリケーション起動時に渡す引数を設定します。
FileName起動するアプリケーションの実行ファイルパスを設定します。この項目は必須です。
WorkingDirectory起動時に操作するディレクトリを指定します。

Type Into

Type Intoアクティビティの画面

対象に文字を入力します。EnterやFunctionキーなども送信できますが、SendHotkeyアクティビティとは異なり同時押しはできません。

プロパティ

ContinueOnErrorエラー発生時に継続して処理を行うかを指定します。
DelayAfter文字入力後の待機時間を設定します。ミリ秒単位で設定します。空欄の場合は300ミリ秒で指定されます。
DelayBefore文字入力前の待機時間を設定します。ミリ秒単位で設定します。空欄の場合は200ミリ秒で指定されます。
Text入力する文字列を指定します。この項目は必須です。
Activate入力の前に対象ウインドをアクティブにします。
ClickBeforeTyping入力の前に対象をクリックします。
DelayBetweenKeysキー入力とキー入力の間に遅延処理を入れ、入力時間を調整できます。デフォルトは10ミリ秒です。
EmptyField入力の前に設定されている値をクリアします。
SendWindowMesssages入力テキストの送信方法を変更します。デフォルトと比べて速度が速い反面、アプリケーションによっては使用できない場合があります。バックグラウンドで実行できます。
SimulateType入力テキストの送信方法を変更します。この方式が最速である反面、アプリケーションによっては使用できない場合があります。バックグラウンドで実行できます。

入力メソッドの違いについては公式に詳しい記載があります。入力メソッド

Send Hotkey

Send Hotkeyアクティビティの画面

Ctrlなどの修飾キーを送信します。「Type Into」とは異なりCtrlSのように同時押しする場合に使用します。プロパティについては「Type Into」と異なる部分のみ記載します。

プロパティ

Key送信するキーを指定します。プルダウンから選択するか直接入力もできます。
KeyModifiersCtrlのような修飾キーを設定します。

 まとめ

レコーディング機能の使い方から、レコーディングを使って自動で文字を入力する方法を解説しました。覚えることをたくさん書いてしまいましたが、実際はレコーディング機能を動かしながら覚えていくことで問題ないと思います。

レコーディング機能を使って色々な操作を記録してどのようなアクティビティが使用されているかを調べるのも面白いですね。

次回は、UiPathに用意されている3つのワークフローについて記事にしたいと思います。

 

 

 

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。