3.7.7. WindowsClick検出器

WindowsClick検出器は、WindowsElement 内のクリックを検出する。

ディテクターパラメーター

Name– OpenFlow内部の検出器の名前。

セレクタレコーダーのプラグインと同じように、セレクト・ボタンを使って、あるいはセレクターを開くボタンで セレクター・ウィンドウを開いて、ユーザーが指定した要素を指定できるようにします。また、ハイライトボタンをクリックすることで、JavaElementが正常に指定されたかどうかを確認することができます。

3.7.8. WindowsElement検出器

WindowsElement検出器は、WindowsElement の出現を待ちます。

ディテクターパラメーター

Name– OpenFlow内部の検出器の名前。

セレクタレコーダーのプラグインと同じように、セレクト・ボタンを使って、あるいはセレクターを開くボタンで セレクター・ウィンドウを開いて、ユーザーが指定した要素を指定できるようにします。また、ハイライトボタンをクリックすることで、JavaElementが正常に指定されたかどうかを確認することができます。

3.8.1. ワークフローIDをキャプチャする

OpenRPA の各ワークフローには、作成時に割り当てられたワークフロー IDがあります。 ワークフロー ID 取得するには、 OpenRPA 起動 ワークフロータイトルを クリック 「Copy ID」を クリック するだけ です。

images/openrpa_running_workflows_copying_workflow_id_openrpa.png

3.8.2. ワークフローをローカルで実行する

このセクションでは、PowerShellを使用してローカルにワークフローを実行する方法について説明します。

まず、PowerShellのプロンプトを開きます。

images/openrpa_running_workflows_cli_open_powershell.png

以下のコマンドを実行します。WORKFLOW_ID}には、実行したいOpenRPA Workflowのワークフロー IDを指定します。例えば、5f8dfaf243e8cf24d4c25dcdという idのワークフローを実行したい場合は、以下の2番目のコードブロックに従って、コマンドを実行します。

Start-Process -FilePath "C:\\Program Files\\OpenRPA\\OpenRPA.exe"  -ArgumentList "-workflowid ${WORKFLOW_ID}"
Start-Process -FilePath "C:\\Program Files\\OpenRPA\\OpenRPA.exe"  -ArgumentList "-workflowid 5f8dfaf243e8cf24d4c25dcd"
images/openrpa_running_workflows_cli_command_running.png

ここでは Start-Process(https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-7) コマンドレット´`を 使用します。 コマンドレットが 何か わからない 場合は 、「コマンドレットの概要(https://docs.microsoft.com/en-us/powershell/scripting/developer/cmdlet/cmdlet-overview?view=powershell-7)」のページを参照してください。

そして、OpenRPAはOpenFlow上でワークフローを起動したかのように、あるいはOpenRPAのリボン内の再生ボタンをクリックしただけで実行されるようになります。

3.8.3. ワークフローをローカルで実行するようにスケジューリングする

このセクションでは、指定した期間に常に実行されるワークフローをスケジュールする方法について説明します。

まず、Windows 10の検索バーで「 タスクスケジューラー」を検索する必要があります。

images/openrpa_scheduling_workflows_search_task_scheduler.png

タスクスケジューラーを開いたら、「 タスクの作成」をクリックします。

images/openrpa_scheduling_workflows_click_create_task.png

ここで、ユーザーは、タスクに必要な名前とその説明を入力する必要があります。

images/openrpa_scheduling_workflows_fill_task.png

次に、タスクのトリガー時に実行される「アクション」を選択する必要があります。アクション]タブをクリックし、[新規…]ボタンをクリックします。

images/openrpa_scheduling_workflows_click_action_tab.png

ここで、ユーザーは実行するプログラム(OpenRPA)を選択する必要があります。そのためには、Browse…ボタンをクリックして、OpenRPAのインストールフォルダ(デフォルトはC: \Program FilesOpenRPA)に移動し、OpenRPA.exeの実行ファイルを選択する必要があります。

images/openrpa_scheduling_workflows_click_browser_button.png
images/openrpa_scheduling_workflows_select_openrpa_executable.png

次に、「 引数の追加 (オプション):」入力フィールドに、ユーザーは/workflowid `` 後に 実行したいワークフローの ``id` 挿入する必要があります。この場合、ワークフローの ID は5f9d10719fad3056ccd42714ですので、作者はこのフィールドに/workflowid 5f9d10719fad3056ccd42714を挿入しました(下の画像でご覧いただけます)。

images/openrpa_scheduling_workflows_set_argument_parameter.png

Start in (optional):パラメータにOpenRPAのインストールフォルダ(デフォルトはC: \Program FilesOpenRPA)を設定する必要があります。3つのパラメータを設定したら、最後にOKボタンをクリックして、タスクが実行するアクションの設定を完了します。

images/openrpa_scheduling_workflows_set_start_in_parameter.png

最後に、ユーザーはタスクの実行を有効にするトリガーを設定します。トリガー]タブをクリックし、[新規作成]ボタンをクリックするだけです。

images/openrpa_scheduling_workflows_click_triggers_tab.png

ユーザーは、タスクの実行を開始するイベントを選択できます。ここでは、デフォルトで設定されている[ スケジュール]イベントのみを取り上げます。

まず、ワークフローを「1 だけ 」「毎日」「毎週」「毎月」のどれで実行するかをチェックボックスで選択します。

次に、カレンダーセレクタでワークフローを開始する日時を選択します。

また、ユーザーはいくつかの詳細 設定を選択することができます。例えば、タスクを遅延」、「繰り返し」、 「停止」、「期限切れ」にするかどうか、また、一時的に「有効」または「無効」にするかどうかを選択することができます。トリガー設定を終了した後、ユーザーはOkボタンをクリックして変更を保存し、もう一度クリックしてタスクの設定を終了する必要があります。

images/openrpa_scheduling_workflows_configure_trigger.png

最後にタスクが実行され、OpenRPAはタスクが正常に完了したこと、または失敗したことを警告する通知を表示します。

images/openrpa_scheduling_workflows_task_completed.png

3.9.1. Chrome、Firefox

Chrome、Firefox、Edgeのプラグインは、これらのブラウザでアクティビティを記録するために必要です。プラグインがないと、そこで行われたアクティビティを記録することができません。

また、OpenRPA.NMツールボックスのすべての機能は、これらのプラグインのインストールに依存しています。

インストールは極めて直感的な操作で行うことができます。OpenRPAGUIの上部リボン、Settingsタブに、各ブラウザのアイコンが表示されます。それをクリックすると、対応するアプリストアが開きます。

images/openrpa_chrome_firefox_plugins.png

Google Chromeを使用している場合、新しいタブでChrome App Storeのページが表示されます。ユーザーは、「Chromeで使用する」をクリックします。ポップアップメッセージが表示され、インストールを確認することができます。

Firefoxを使用している場合、新しいタブでFirefoxアドオンページが表示されます。その後、「Firefoxに追加」をクリックします。その後、ポップアップメッセージが表示され、インストールを確認することができます。

Edgeを使用している場合、新しいタブでChrome App Storeが開きます。EdgeにChrome拡張機能をインストールしたことがない場合、他のストアの拡張機能をEdgeにインストールすることを許可するかどうかを確認するポップアップが表示されます。ユーザーは「Allow extensions from otherstores」ボタンをクリックし、「Add to Chrome」ボタンをクリックして、Edge用のOpenRPAプラグインをインストールする必要があります。

これらのプラグインは、OpenRPAがそれらのウェブブラウザの情報にアクセスするために存在するだけであることに留意してください。これらのプラグインは、データを取得すること自体に責任を負うものではありません。また、これらのプラグインは、OpenRPAの正常な機能を損なうことなく、いつでも削除することができます。

備考

これらのプラグインは、それぞれのアプリストアから直接インストールする必要があります。オフラインで手動でファイルを転送してインストールすることはできません。

3.9.2. AVIレコーダー

AVI Recorderは、ワークフローの実行を記録するために使用されます。このプラグインは、時折失敗するワークフローをデバッグする際に、何が起こっているのか実行状況を注意深く観察することが困難な場合に非常に便利です。

OpenRPAリボン内の設定タブで、プラグインの実行をクリックします。AviRecorder を選択し、Enabledチェックボックスをマークして、録画の保存 フォルダパスを設定します。

images/openrpa_recorder_avi_recorder_keep_succs_unset.png

OpenRPA AviRecorder.

デフォルトでは、OpenRPAは失敗したワークフローの実行記録のみを保持します(プロセス自体の失敗または他のアクティビティによって強制されたため)。成功したものも失敗したものも含めて、すべての実行を記録したい場合は、 成功したものを残すチェックボックスをオンにします。

さらに、コーデックと 録画 品質を調整することで、ハードディスクの容量を節約したり、録画品質を向上させたりすることができます。

images/openrpa_recorder_avi_recorder_keep_succs_set.png

OpenRPA AviRecorderのKeep成功セット

3.A.1. ウェブオートメーション

この例では、RPA Input Forms Challenge(http://www.rpachallenge.com/)が解決されます。

推奨通り、レコーダーは設計を円滑に進めるために使用されます。

その手順は以下の通りです。

  1. Excel ファイルをダウンロードしてください。

  2. Excel ファイルを読み込む。

  3. マップスタートボタン。

  4. データセットの行をループさせる。

  5. 各WebElementの入力フィールドに対応するハンドルを探します。

  6. Webページ内の必要事項をすべて入力してください。

  7. マップ送信ボタン。

3.A.1.1. Excelファイルをダウンロードする

Excel ファイルをダウンロードするには、OpenRPA.Utilitiesのツールボックス内にあるDownloadFileアクティビティを使用します。

アクティビティをデザイナ内のメインシーケンスにドラッグします。

...ボタンをクリックして、アーカイブを保存するファイルのパスを選択するか、アクティビティのプロパティタブにあるLocalPathパラメータを割り当てます。

取得したいアーカイブのURLを貼り付けます。URLはOpenRPAが文字列として取得するため、”"で囲む必要があることを覚えておくとよいでしょう。この例では、次のようなURLを使用しています。”rpachallenge.com/assets/downloadFiles/challenge.xlsx “です。

images/openrpa_rpa_challenge_downloadfile.png

3.A.1.2. Excelファイルを読み込む

ReadExcelアクティビティは、Excel ファイルから読み込んで、変数に保存します。

ここでのすべての手順は、「Excelファイルから読み込む方法」で目に見える形で説明されています。

Excelファイルから読み込む方法

OpenRPA.Utilitiesツールボックスの中にあるReadExcelアクティビティをメインシーケンスにドラッグします。

読み込むExcel ファイルを...ボタンで選択し、エクスプローラで読み込むシートがあるファイルパスを探します。

次に、...ボタンをクリックすると、エクスプローラーウィンドウが表示され、そこで使用するExcel ファイルを 選択します。

ReadExcelアクティビティは、このExcel ファイルを読み込んで、変数に保存します。

この変数はまだ存在しないので、最初に作成する必要があります。変数は必ずSystem.Data.DataSet.DataSetという型に設定しなければならないことに注意してください。プロパティ]タブ内のデータセット入力フィールドをクリックし、使用したい変数名を入力してCtrl+Kを押してください。

変数、引数、インポートボックスの中に変数を作成するか、以下の注意事項に従うか、どちらかです。

備考

OpenRPAは、アクティビティ/プロパティに必要な正しい型を持つ新しい変数を自動的に作成することができます。プロパティボックスに新しい変数を作成するには、変数名を入力し、キャレットを入力フィールドに入れたまま、Ctrl+Kを押します。

備考

DataSet オブジェクトはシート全体に対応する.各データテーブル(例えばSheet1)は,Excel ファイル内の各シートに対応する.DataSetクラスは、このExcel ファイル から 消費されるすべてのデータを保存するために作成された、一時的なインメモリキャッシュのオブジェクトです。DataSetクラスの詳細については、MicrosoftのDataSetクラスに関するドキュメント(https://docs.microsoft.com/en-us/dotnet/api/system.data.dataset?view=netcore-3.1)を参照してください。

備考

DataTable オブジェクトは、同じ名前のクラスからDataSet オブジェクトに含まれるインメモリデータの1つのテーブルに対応します。Excel ファイルを読み込むと、それは自動的にDataSetクラスに割り当てられ、すべてのシートは DataTableクラスに保存されます – 0からExcel ファイル内のシートの量に番号が付けられています。ここで、DataTableオブジェクトは大文字と小文字を区別することに注意してください。

3.A.1.3. スタートボタンをマップする

スタートボタンをクリックすると、チャレンジが始まります。

課題を開始するプロセスをマッピングするには、「Read Excel」アクティビティの下のスペースに対応する白い三角形をクリックするだけです。以下のステップに示すように、レコーダーを起動し、ブラウザ内の[開始]ボタンをクリックします。

備考

Recorderを使用するには、Chrome/Mozilla Firefoxのプラグインをインストールする必要があります。詳しくは、Chrome、Firefoxの項をご覧ください。

録音を停止するには、ESCボタンを押すだけです。

ここで注意していただきたいのは、録音を終了させないと、あなたが実行したすべてのアクティビティが延々と録音されてしまうということです。

images/openrpa_workflow_example_rpa_challenge_map_start_button.png
images/openrpa_workflow_example_rpa_challenge_map_start_button_click.png

Startボタンをうまくマッピングすると、ワークフローは次ページの最後の画像のようになるはずです。

images/openrpa_workflow_example_rpa_challenge_map_start_button_final.png

3.A.1.4. データセットの行をループさせる

さて、いよいよページ内の入力フォームに、Excel ファイル から 集めたデータを入力します。

OpenRPAツールボックスの中にあるForeach DataRowアクティビティをドラッグしてください。次に、Foreach DataRowアクティビティの内部で、System.ActivitesツールボックスからSequenceアクティビティをドラッグしてください。

前述のように、Read Excelアクティビティから割り当てられたDataSet内の各シートは、Tables属性内のコレクションとしてインメモリに保存されます。

Tables属性内の各シートは、Excel ファイル内のシートに応じて取得され、これらのシートは0から始まる番号が付いています。 例として、Excel ファイル内のDataTableに行を追加する場合、まずDataTable クラスのオブジェクトに割り当て、アクティビティを使用してテーブルに行を追加することになります。

各行を取得するには、取得したい行に0から始まる番号を1つの変数に代入するか、Foreach DataRowを使って各行を適宜自動的にループさせることができます。この例では、dsという変数にDataSetが代入されており、これがテーブルを取得するための変数となっています。シートが1つしかないので、ds.Tables(0)を使って、Foreach DataRowが値を取得するテーブルを代入しています。

行が取得されるDataTableを割り当てた後、列はForeach DataRowアクティビティの左側に割り当てられた変数内の属性にマッピングされることに注意してください – このケースでは、DataColumnの値を返すか設定するです。

Foreach DataRowループは基本的に、行内のすべての値( 名前 会社 、…) を繰り返し処理し、各フィールドが属する Web ページ内のXPathセレクタ アイテムに割り当てます。これにより、RPA Input Forms Challenge(http://www.rpachallenge.com/) ページ内の値が入力されるようになります。

備考

DataRow オブジェクトはDataTableからマッピングされた各行です。DataRowオブジェクトとそのプロパティ、メソッドを使用することで、ユーザーはDataTable内の値を取得、評価、挿入、削除、更新することができます。また、DataRowCollectionは DataTable内の実際のDataRowオブジェクトを表しています。DataRowCollectionにマッピングされた各カラムは、DataRowクラスオブジェクトの属性であるインデックスを使用して取得することが可能で、行内の1列目を取得する場合は、row(0)を使用します。DataRowクラスの詳細については、MicrosoftのDataRowクラスに関するドキュメント(https://docs.microsoft.com/en-us/dotnet/api/system.data.datarow?view=netcore-3.1)へのリンクを参照してください。

images/openrpa_workflow_example_rpa_challenge_loop_through_each_assign_row.png
images/openrpa_workflow_example_rpa_challenge_excel.png

3.A.1.5. 各WebElementの入力フィールドに対応するハンドルを探す

RPA Input Forms Challengehttp://www.rpachallenge.com/)のページにある各入力欄をRecorderでクリックすると、クリックされた各WebElementに対して最適なハンドルが簡単に見つかります。

このワークフローでは、WebElement の操作を行うため、通常は Element.ID、Element.Name、Element.ClassName などのハンドルが最適です。今回のケースでは、ng-reflect-name属性をXPathセレクタと一緒に使用して、指定された要素を捕捉する手段を提供します。

記録を開始したら、RPA Input Forms Challenge(http://www.rpachallenge.com/)ページ内の入力フィールドを1つクリックします。通常通り、最初のフィールド、つまりFirst Nameを記録し、その後他のフィールドに進むことをお勧めします。

images/openrpa_workflow_example_rpa_challenge_map_web_element.png

入力フィールドをクリックすると、InsertTextというタイトルのプロンプトウィンドウが表示されますので、そのままEnterキーを押してください。

images/openrpa_workflow_example_rpa_challenge_map_web_element_capture_input_field.png

現在の入力フィールドの記録を停止するには、ESCボタンを押すだけです。

ここで注意したいのは、録画を終了させないと、実行したすべてのアクティビティが延々と記録されることです。

すると、Foreach DataRowシーケンスの中に新しいOpenRPA.NM.GetElementアクティビティが表示されます。

images/openrpa_workflow_example_rpa_challenge_map_web_element_sequence_after_capture.png

各アクティビティーの名称は、ユーザーが対応する入力フィールドに変更することが望ましい。下の画像に示すように。

images/openrpa_workflow_example_rpa_challenge_finished_2.png

備考

アクティビティのパラメータで設定した名前(DisplayName)を変更するには、アクティビティの名前を2回クリックし、希望の名前を入力してリターンキーを押すか、プロパティボックスでパラメータDisplayNameを設定する方法があります。

備考

Recorder を使用して WebElement がクリックされ、OpenRPA がその WebElement が入力値を受け取ることができると判断した場合。プロンプトが自動的に表示され、ユーザーが文字列を入力すると、RecorderはWebElementに入力された文字列を入力するようにアクティビティを生成します。今のところ、ユーザーはこれらを無視して、プロンプトに任意のテキストを入力することができ、これらの割り当てられた値は、DataTabledsから値を取得するように置換されます。WebElement は自動的にitem変数に代入されます。

images/openrpa_workflow_example_rpa_challenge_assign_webelement.png
images/openrpa_workflow_example_rpa_challenge_highlight_webelement_handle.png
images/openrpa_workflow_example_rpa_challenge_recorder_insert_text.png

3.A.1.6. ウェブページ内の必須項目をすべて入力する

ハンドルのマッピングができたので、Excelシートで取得した行と列の値を割り当てます。

最初の入力フィールドはFirst Name RPA.UtiliesツールボックスにあるAssignアクティビティを使用して割り当てることができます。

左側でitem.Valueを使用してWebElementのプロパティにアクセスし、右側で必要な入力値 (First Name列の場合はrow(0).ToString) を使用します。

FirstNameは1列目にあるので、インデックス = 0です。

images/openrpa_workflow_example_rpa_assign_handle_activity.png
images/openrpa_workflow_example_rpa_assign_handle_value.png

備考

Assign」アクティビティは、変数に値を参照するために使用します。これを行うには、アクティビティーの左側に、値をマップする変数の名前、またはエイリアスを入力します。必要であれば、Ctrl+K を押して、自動的に変数を作成するか、手動で作成することができます。右側を使用して、変数に割り当てられる値を入力します。

備考

行の中のそれぞれの列の値はDataCellオブジェクトである。一時的にインメモリキャッシュとしてオブジェクトが作成され、それぞれの行の中の列の値が保存されます。さらに、Excelの値は文字列型でないオブジェクトである可能性があるため、安全性を考慮して常に文字列にキャストしておくとよいでしょう。セレクタが返すDOMオブジェクトもString型なので、item.Valueに代入する前にStringにキャストする、つまり型を変更する必要があります。これは、ToStringメソッドを使って行われます。

3.A.1.7. マップ送信ボタン

各項目(各行に対応)は、Submitボタンをクリックして入力した後、入力する必要があります。

各入力の入力プロセス(Submitボタンをクリックする)をマップするには、以下のステップのように、最後のAssignアクティビティの下のスペースに対応する白い三角形をクリックし、Recorderを起動し、ブラウザ内のSubmitボタンをクリックするだけです。

録音を停止するには、ESCボタンを押すだけです。

ここで注意したいのは、録画を終了させないと、実行したすべてのアクティビティが延々と記録されることです。

images/openrpa_workflow_example_rpa_challenge_map_submit_button.png
images/openrpa_workflow_example_rpa_challenge_map_submit_button_click.png

Startボタンをうまくマッピングすると、下の画像のようなワークフローになります。

images/openrpa_workflow_example_rpa_challenge_map_submit_button_final.png

3.A.1.8. ワークフローの完成

完成したワークフローは、以下のような順序になるはずです。

images/openrpa_workflow_example_rpa_challenge_finished_1.png
images/openrpa_workflow_example_rpa_challenge_finished_2.png
images/openrpa_workflow_example_rpa_challenge_finished_3.png
images/openrpa_workflow_example_rpa_challenge_finished_4.png
images/openrpa_workflow_example_rpa_challenge_finished_5.png
images/openrpa_workflow_example_rpa_challenge_finished_6.png

RPAチャレンジのワークフローを完成させました。

3.A.2. Windowsオートメーション

この例では、Skypeを使って、Windowsアプリケーションの自動化がいかに簡単であるかを説明します。

私たちの目標は、ユーザーに連絡先を聞いて、ロボットがSkypeに進み、指定された受信者に.PDF ファイルを 送信することです。

したがって、ここで公開されるOpenRPAの主な機能は以下の通りです。Detector、Form、Selector、そしてRecorderです。

この例は3つのステップに分かれています。 最初のステップはDetectorで、特定のフォルダに新しいファイルが作成されたかどうかをチェックします。 2番目のステップはFormで、受信者の連絡先(メール名前ユーザー名)をユーザーに尋ねます。 最後のステップはWindows Automation (Skype app)/ UsingSelectorで、ユーザーがSkypeコンタクトにメッセージとファイルを送信する手順を記録します。

Windows UIの自動化に関心がある場合は、Windows Automationのステップに直接進むことができます。

  1. ディテクター
    • OpenRPAでDetectorを作成する

    • Node-REDでDetectorノードを設定する。

    • Node-REDにおけるメッセージ操作

    • Node-REDからOpenRPAへの変数の受け渡し

  2. フォームです。
    • OpenRPAフォーム

  3. Windowsオートメーション(Skypeアプリ)/セレクタを使用する
    • タスクの記録

    • セレクタを設定する

3.A.2.1. 検出器

Detectorはイベントリスナーと同義語です。残念ながら、特定の条件が発生するのを待ち、Node-REDや OpenRPA自体にメッセージを発します。

このセクションでは、特定のディレクトリのファイル変更に耳を傾け、新しいファイルが作成されたときにイベントを発生させる、FileWatcher Detector の作成方法を学びます。この例では、新しいPDF/.pdf ファイルが 作成されるたびに、ロボットが発火するはずです。

OpenRPAでDetectorを作成する

まず、FileWatcher Detectorを設定する必要があります。

そのためには、まずOpenRPAのリボン内にある「設定」バーをクリックする必要があります。

images/openrpa_workflow_examples_windows_automation_click_settings.png

次に、リボン内の「Detectors」ボタンをクリックします。

images/openrpa_workflow_examples_windows_automation_click_detectors.png

その後、「検出器」リボン内の目的の検出器をクリックするだけです。

この例では、使用するDetectorは FileWatcherDetectorPluginです。Detector’sName– in our caseWindows Automationas well as thePathwhich it will listen to –C:\Usersviere╱Documents╱workflow_example_filesⒸwindows_automation_files,no quotes. Then set theFile Filterto*.pdf– the*is a wildcard for the filename, that’s, any filename will do.

images/openrpa_workflow_examples_windows_automation_detector_configured.png

備考

Detectorが見つからない場合、インストールされていることを確認してください。疑わしい場合は、インストーラー.msiを再度実行し、インストール中に含まれていることを確認するだけです。

備考

ワイルドカード(https://ryanstutorials.net/linuxtutorial/wildcards.php) は、ファイルやディレクトリのセットを定義するパターンを作成するための構成要素のセットです。覚えているように、コマンドラインでファイルやディレクトリを参照するときはいつでも、実際には文字列のパスを参照しています。パスを参照するときは常に、そのパスの中でワイルドカードを使用して、ファイルやディレクトリのセットに変換することもできます。

Node-REDでDetectorノードを設定する。

ここでユーザーは、Node-REDでDetectorノードを設定します。このノードは、DetectorがトリガーされたときにNodeRED メッセージの起点となります。

Node-RED内に新しいフローを作成します。フローはWindows Automation - Workflow Exampleと名付けます。

images/openrpa_workflow_examples_windows_automation_create_new_node_red_flow.png

次に、検出器ノードをワークスペースにドラッグします。

images/openrpa_workflow_examples_windows_automation_drag_detector_node.png

検出器ノードをダブルクリックして、そのプロパティを設定します。ドロップダウン・フィールドに表示される「Detector」を選択します。さらに、このノードに「Filepath Detector」などの名前を付けることもできます。フローを整理するために、そうすることをお勧めします。

images/openrpa_workflow_examples_windows_automation_set_detector_node_properties.png

Node-REDにおけるメッセージ操作

FileWatcher Detector が起動すると、NodeRED メッセージに filepath(作成されたファイルの名前)などの情報が渡されます。

images/openrpa_workflow_examples_windows_automation_set_debug_detector.png

このデータを取得し、ワークフロー起動時の引数としてロボットに渡すことが望まれます。引数は msg.payloadオブジェクトを通してロボットに渡すことを忘れないでください。 OpenRPA ワークフローは他の引数を必要としないので、FileWatcher Detectorノードを直接ロボットノードにプラグインすることが可能です。

OpenRPAのワークフローを呼び出す

ここに、OpenRPAワークフローに変数を渡して実行するロジックがあり、Detectorのポジティブシグナルによって起動されます。

ワークスペースにロボットノードをドラッグします。このノードによって、Windows 自動化ワークフローを呼び出すことができます。

images/openrpa_workflow_examples_windows_automation_connect_function_node_to_robot.png

もう一度言いますが、ノード名をInvoke Windows Automation Workflowと適切に命名することをお勧めします。

ワークフローを実行するロボット (または エージェント)と、実行するワークフローの名前(この例ではWindows Automation)をダブルクリックして指定します。Local Queueの項目は空白のままでも構いません。

images/openrpa_workflow_examples_windows_automation_set_robot_node_properties.png

ここで、ユーザーは画面左上の赤い「Deploy」ボタンをクリックして、作成したフローをデプロイする必要があります。

images/openrpa_workflow_examples_windows_automation_click_deploy_button.png

その後、OpenRPA ワークフロー内でCreate Argument をクリックして新しい引数を定義します。デバッグノードで見たように、渡されるパラメータはfilepathと呼ばれているので、引数も全く同じにする必要があります。引数は入力なので、そのDirectionを Inに設定します。

images/openrpa_workflow_examples_windows_automation_define_pathFile_argument.png

備考

Node-RED の使用を完全に避けたい場合は、先に定義した検出器を含む検出器アクティビティと共に、トライブロックによる無限ループアクティビティ(条件: true=true) を使用することをお勧めします。ユーザーは、Skypeコンタクトに送信されるファイルの固定ファイルパスを 割り当てるために、アクティビティ「Assign」を使用することもできます。ループを使用することで、反復が終了するたびに、ロボットは常に最初に戻り、Detectorがもう一度起動するのを待ち、何か異常が発生した場合には、トライブロックが ワークフローの実行を保証します。