3.5.1. アクティビティ/ツールボックス

ツールボックスは、OpenRPAで可能なすべてのアクティビティが入っている場所です。ドライバーやドリルなど、普段使う道具がすべて入っている箱を想像してください。道具箱は本来、これらの道具を手に入れるために手を伸ばす場所なのです。

OpenRPAのアクティビティは、何のために使うのかを明確に表すカテゴリーで分けられています。これらのカテゴリについては、次のセクションで適切に説明します。

3.5.2. デザイナー

デザイナーは、OpenRPA内部でタスクの設計と実装の主要なプロセスを行う場所です。アクティビティをドラッグ&ドロップし、シーケンスを追加またはネストして実装の選択肢を満たすとともに、ワークフローのビジネスプロセスに関連するプロパティや変数を設定する場所です。5つのコンポーネントから構成されています。ツールボックスとスニペットサイドバー、ワークスペース、プロパティボックス、アウトプットバー、コネクションバーです。

images/openrpa_sections.png

OpenRPA Designerのコンポーネントです

3.5.2.1. ツールボックスとスニペットサイドバー

ここでは、すべてのアクティビティと、さまざまな目的でのツールの使用方法を説明するコードスニペットがあります。

アクティビティを使用するには、追加したいワークスペースのシーケンスにドラッグするだけです。

これらのアクティビティについて、それぞれの詳しい説明など、詳しくは「Toolbox 詳細」を参照してください。

images/openrpa_designer_toolbox.png

OpenRPAのToolbox.

3.5.2.2. ワークスペース

ワークスペースは、ワークフローで実行されるタスクに関連するすべてのアクティビティ を整理する場所です。また、変数、引数、インポートの名前空間を設定する場所でもあります。

ユーザーがアクティビティをシーケンスにドラッグすると、リボン内の再生ボタンを押すか、F5キーを押すことにより、アクティビティはカスケード方式で実行されます(各アクティビティは前のアクティビティの後に実行されます)。TryCatchや Throwアクティビティで処理されないエラーが発生した場合、ワークフローの実行は停止し、エラーメッセージが出力ボックスに表示されます(「出力バー」セクションで説明します)。

各シーケンスアクティビティには独自のスコープがあり、これについては後述の「変数」のセクションで説明します。

images/openrpa_designer_workspace.png

OpenRPAのワークスペース

また、ユーザーは下図のようにSequenceアクティビティをネストしてワークフローを整理することができます。

images/openrpa_designer_workspace_nesting_sequences.png

OpenRPA.内部のネスト配列

ネストだけでなく、ユーザーは「コメントアウト」アクティビティ を使用して、その内部のすべてを無視することができます。下の図では、「コメントアウト」アクティビティ内のすべてのア クティビティは実行されません。

images/openrpa_designer_workspace_comment_out.png

OpenRPAの外での活動をコメントする

3.5.2.3. プロパティボックス

OpenRPAのすべてのアクティビティには、独自のプロパティボックスがあり、与えられたアクティビティの動作を変更するパラメータが渡されます。プロパティボックスの中には、InputOutputMiscなどのパラメータを参照するセクションがあります。

images/openrpa_property_box.png

プロパティボックス

すべてのアクティビティに共通する唯一のプロパティはDisplaynameで、ワークスペース内のアクティビティ名を変更します。以下にそれを示します。

images/openrpa_designer_property_box_displayname.png

表示名プロパティ.

3.5.2.4. 出力バー

出力バーには3つのセクションがあります。ログ出力 ワークフローインスタンスの3つのセクションがあります。

ロギング

Loggingセクションには、ワークフローの出力と、OpenRPA内部で発生したエラーや例外のインスタンスが表示されます。

images/openrpa_logging_section.png

出力

出力セクションには、実行されたワークフローによって生成された出力のみが含まれます。

images/openrpa_output_section.png

ワークフローインスタンス

Workflow Instances」セクションには、現在ログインしているユーザーがリッスンして いるキューファイルのパスに関連するすべてのワークフローインスタンスが含まれま す。このセクションは、最近のワークフロー結果のカタログとして、また、どのワークフローがキュー、アイドル、完了、失敗、実行中(進行中)であるかを確認するために有用です。

images/openrpa_workflow_instances_section.png

3.5.2.5. 接続バー

接続バーには、「OpenRPAの設定」で設定したOpenFlowWebサービスの接続状態や、NMと SAPの両プラグインの状態に関する情報が表示されます。

images/openrpa_connection_bar.png

3.5.3.1. 変数

変数とは、その名の通り、シーケンスの実行中にエイリアスとして割り当てられる変更可能な値である。このエイリアスは、数学的、計算的な表現で使用することができる。例えば、「price」という名前の変数を保存して、シーケンスに沿った製品の価格を割り当てる場合。assignアクティビティと式を使って、その値を代入することができます。

入力ボックスのあるアクティビティを挿入する際、存在しない変数について言及し、それを簡単に作成したい場合、Ctrl+Kを押すと、多くの種類の変数を選択できるドロップダウンが表示されます。

OpenRPAの変数は静的型付けされており、その型は引数ボックス内の変数型フィールドから選択することができます。

3.5.3.1.1. 可変の使用例です計算結果の保存

次に、変数の使用例を示します。この例では、計算の結果を変数に保存します。

まず、「割り当て」アクティビティをメインシーケンスにドラッグします。

次に、変数の名前を入力し、Ctrl+Kを押すと、自動的に変数が作成されます。この場合、選択された名前はresultOfComputationです。

その後、計算結果(2*6)[右辺]を変数[左辺]に代入してください。

ユーザーは、アクティビティの右側に警告が表示されていることに気付くかもしれません。これは、式がInt32型であり、変数resultOfComputation文字列であり、Microsoft Workflow Foundation が強 制型であるためですとりあえず、下図のようにVariables, Arguments & Imports ボックス内のVariable typeパラメータでInt32型を選択してください。

images/openrpa_variables_arguments_variable_use_case_change_variable_type.png

3.5.3.2. 範囲

シーケンス内に含まれるオブジェクトの到達点を指します。プログラミングとスコープについてある程度知識がある方は、この部分は飛ばしていただいて構いません。 まず、集合について考えてみましょう。この例では、引数はグローバルにスコープされているかのように機能するので、変数を使うことにする。

下のコードブロックでは、シーケンスB は変数 x, – にしかアクセスできませんが、BA のスコープ内にあるため、シーケンスBはすべての変数 {n, p, x, y} にアクセスできるようになります。簡単に言えば、シーケンスを使って変数のスコープを整理し、アクティビティをグループ化することができます。これは、開発者がプログラミング言語で関数を使用して一枚岩のコードを回避するのと同じです。

Sequence A {	variables = n, p	Sequence B {		variables = x, y	}}	

3.5.3.3. 引数

引数は、他のシーケンスや外部サービス、ワークフローに渡すことができる単なる変数であり、グローバルなスコープを持つ。この特徴を除けば、変数と全く同じ働きをします。他のシーケンス内に作成されたシーケンスに引数を渡した場合、その引数は外側のシーケンス内でも有効です。変数を渡した場合、そのようなことは起こりません。

変数も引数もデフォルト値を持つことができ、シーケンスの実行中に必ずしも値が代入されない場合は、両方に代入されることに注目することが重要です。また、isRequiredプロパティがチェックされている引数は、’In’値、つまり既に渡されたか、デフォルト値を持つことが必須となります。

OpenRPAの引数は、変数と同様に静的型付けされており、その型は引数ボックス内の変数型フィールドから選択することができます。

出力(In – In/Out – Out)出力とは、実行時に変数や引数を処理する方法のことである。以下に分類される。

  • この場合、引数は外部サービスから受け取り、ワークフロー実行後には返せない入力値のみが与えられる

  • イン/アウト

    この場合、引数には入力値を与えることも、ワークフロー実行後に変更し出力することも可能である

  • アウト

    この場合、引数は外部サービスに対する値を返すので、ワークフロー実行後に変更することはできない

  • 物件紹介

    これは、引数をPropertyに変えるもので、In/Out引数と同じ機能を持ち、さらにデフォルト値を持つことができる。

3.5.3.5. シリアライズ可能な引数とそうでない引数

OpenRPAのベースとなっているMicrosoft Workflow Fundation(MWF)では、変数や引数を2つの異なるカテゴリに分類しています。大半のワークフローでは、この違いを理解する必要はなく、何も影響を与えませんが、非シリアル化オブジェクトの技術的な制限を知ることで、ワークフローやプロセスが期待通りに動作しない理由を説明できる場合があります。

要するに、非シリアライズ可能なオブジェクトは、その名が示すように、シリアライズすることができないのです。この用語は、この文脈では、「これらのオブジェクトは保存できない/ネットワーク上で送信できない」と簡略化することができる。つまり、ワークフローにシリアライズ不可能な変数/引数が含まれる場合、ワークフローの状態を保存することができません。また、シリアライズ不可能な引数を持つワークフローの起動もサポートされていません。最も一般的なシリアライズ不可能な変数/引数のタイプは次のとおりです。DataTablesDataSetsですが、その他の型(すべての名前空間から無限に存在する型)もこのカテゴリに属します。

この簡単な説明のもと、シリアライズ不可能な変数や引数を含むワークフローを扱う際にユーザーが直面する可能性のある制限と、その回避策をいくつか紹介します。

  • ワークフローの状態の保存

    OpenRPAが OpenFlowに接続されている場合、特定のアクティビティ¹に到達するたびに、ワークフローの状態がOpenFlowに自動的に保存されます。これらの状態は、実行中のデザイナーレイアウト(アクティビティ、シーケンス)、変数や引数、およびそれらの現在値など、ワークフローインスタンスに関連する現在の状況を示すために存在します。したがって、ワークフローがDataTableのようなシリアライズ不可能なオブジェクトを含む場合、ステートを保存することはできない。

    アイドル状態になるすべてのアクティビティ(Detectors、Delay、Invoke Remote with wait)、およびPersistアクティビティです。

    回避策複雑なワークフローをより小さなワークフローに分割し、シリアライズできないオブジェクトの管理を小さなワークフローに任せます。そうすることで、予期せぬ中断が発生しても、すべてのデータを失うことはありません。

  • リモート OpenRPA / シリアル化できない引数での起動

  • Openflowの起動 / Node-REDの起動とデータリターン

    Invoke Remote OpenRPAActivityを使用する場合、呼び出されるワークフローがシリアライズ不可能な引数を使用する可能性があることに注意してください。呼び出し先のコンピューター/OpenRPAが呼び出し元のOpenRPAと異なるため、シリアライズ不可能な引数を渡すことができず、呼び出しに失敗します。

    同様の制限は、ユーザーがNode-REDで Invoke Openflowアクティビティを使用してフローを呼び出す場合にも発生し、シリアライズできないオブジェクトは引数として使用することがサポートされません。このルールの例外はDataTableタイプで、OpenRPAは Node-REDに問い合わせる前にこれらをきちんとJArray オブジェクトに変換し、データが返されたとき/ ノードワークフローが使われたときにDataTableに戻そうと試みます。

    回避OpenRPA.OpenFlowDBツールボックスのアクティビティを使用して、OpenFlowMongoDBにファイルをアップロード/データを更新/エンティティやコレクションを作成し、デスティネーションコンピュータでOpenFlowMongoDBにクエリを実行してデータにアクセスします。この方法では、データ/データセット/データテーブル(シリアライズできないオブジェクト) 全体が MongoDB に格納され、呼び出し時に渡されるパラメーターは_idやその他の識別子になります。

    回避策2:シリアライズできないオブジェクトをシリアライズ可能なオブジェクトに変換します(例:base64文字列)。

3.5.4.1. OpenRPA

以下に、OpenRPAツールボックス内のアクティビティを紹介します。

クリックエレメント

GetElementで見つかったElementをクリックします。

プロパティパラメータ

Animate MouseTrueに設定すると、カーソルは実行中にその位置を変えて表示されます。物理的なクリックの時のみ動作します

表示名– シーケンス内のアクティビティのタイトルです。

ダブル クリックTrueに設定すると、カーソルがウィンドウ内で2回クリックされます。

ElementGet Elementアクティビティで選択されたアプリケーション。

キーモディファイア– 設定すると、実行中に対応するキーが押されたように動作します。

Mouse Button– 左マウスボタンをクリックする場合は1、中央マウスボタンの場合は “2“、右マウスボタンの場合は3に設定されます。

Post WaitOpenRPAがこのアクティビティの実行を完了した後、終了を待つべき時間。

Virtual Click– デフォルトでTrueに設定されています。OpenRPAは、実際にマウスでクリックする代わりに、仮想クリックを試みます。詳細については、付録B仮想クリックを参照してください。

X Offset– クリックされるウィンドウの内側の水平方向のオフセットです.単位はピクセルです。また、負の値も可能です。物理的なクリックでのみ動作します。

Y Offset– クリックされるウィンドウの内側の垂直方向のオフセットです.単位はピクセルです。また、負の値も可能です。物理的なクリックでのみ動作します。

images/openrpa_click_element.png

OpenRPAクリック要素.

アプリケーションを閉じる

Get Elementアクティビティで選択したアプリケーションを終了します。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Force- Trueに設定すると、アプリケーションを終了させます。

セレクタ– 選択されたアプリケーションに属するすべてのデータが含まれます。

Timeout– アプリケーションを正常に終了できなかった場合、アクティビティが停止するまでの時間間隔。単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。

images/openrpa_close_application.png

OpenRPAクローズアプリケーション

コメントアウト

Comment Out内のアクティビティは、ワークフローの実行では無視される。このアクティビティは、シーケンスから何かを指摘するのに便利である。

プロパティ パラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

クリップボードのコピー

Windowsのクリップボードの内容を変数に保存します。

しかし、このアクティビティを繰り返し連続的に使用することは、バッファの問題で信頼性が低いので、お勧めできません。回避策として、 コード起動アクティビティを使用して、次のAHKコードを実行することができますvariable1 := Clipboard.variable1が変数名であることに注意してください。

コピーされるWindowsクリップボードの内容が文字列の場合、ユーザーはプロパティボックスの String Resultフィールドに変数を指定する必要があります。イメージの場合は、イメージの保存先であるBitmapSource変数のファイルパスをImage Resultに指定する必要があります。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Image Result– クリップボードにコピーされたイメージからビットマップを作成し、BitmapSource変数として返します。

Send Ctrl+C– クリップボードの内容をコピーしようとする前に、Ctrl+Cを送信します。

String Result– クリップボードからの結果を文字列として返します。

images/openrpa_copy_clipboard.png

OpenRPA Copy Cliboard.

ディテクター活動

Detectorはワークフローをアイドルモードにし、選択したDetectorがトリガーされるのを待ちます。

DetectorはOpenRPAの内部でStateMachineのトリガーとして使用することもできることを、ユーザーに伝えておく価値があります。

Detectorの設定方法の例は、Windows Automationセクションにあります。

プロパティパラメータ

Detector– 条件をトリガするために使用される検出器のIDです。

Displayname– シーケンス内のアクティビティのタイトルです。

データ行を検索する

Foreach DataRowは DataTable内の各行を列挙する。

このアクティビティは、DataTableまたはDataViewを繰り返し処理します♪²Foreach DataRow内のすべてのアクティビティは、各行でループされます。Foreach DataRowアクティビティの使用例は、Web Automationと Excel Readのワークフロー例で紹介されています。

プロパティ パラメータ

DataTable– データを収集するために使用されるデータテーブルです。

DataView– データを収集するために使用されるデータビューです。DataViewの使用方法については、付録BのDataViewを参照してください。

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_foreach_datarow.png

OpenRPAのForeach DataRow.

² –DataViewとDataTableの違いは何ですか?(https://stackoverflow.com/questions/7382932/what-is-the-difference-between-dataview-and-datatable)

ハイライト要素

GetElement活動で見つけた要素をハイライト表示する。

また、GetElementアクティビティ以外でこのアクティビティを使用する場合、ユーザーは特定のElementをハイライト表示するよう定義することができます。さらに、DurationパラメータにHH:mm:ss形式のTimeSpanオブジェクトを挿入することで、ハイライトの継続時間を指定することができます(例えば00:00:30で 30 秒間ハイライトします)。また、BlockingパラメータをTrueに設定することで、ハイライトが終了するまでワークフローの実行をブロックすることができます。

プロパティパラメータ

BlockingTrueに設定すると、ハイライトが終了するまでワークフローの実行をブロックします。

DisplayName– シーケンス内のアクティビティのタイトルです。

Duration`-ハイライトの継続時間。単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトを指定することができます。

ElementGetElementによってハイライトされる要素.

Result– [DEPRECATED] 現在使われていないパラメータです。

images/openrpa_highlight_element.png

OpenRPAハイライト要素

クリップボードの挿入

パラメータTextの内容をWindowsのクリップボードバッファにセットします。 しかし、このアクティビティを繰り返し連続して使用することは、バッファの問題で信頼性が低いので、お勧めしません。提案/回避策として、Invoke CodeActivityを使用して、以下のAHKコードを実行することができます。

Clipboard := variable1Timeout := 3WaitForAnyData := 1ClipWait, % Timeout, % WaitForAnyData; "variable1" is the name of the variable, can be changed.; More info about ClipWait at https://www.autohotkey.com/docs/commands/ClipWait.htm (yes .htm, not .html)

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Ignore Errors– エラーが発生した場合、それを無視して続行します。デフォルトはFalseです。

Text– クリップボードに挿入されるテキストです。

images/openrpa_insert_clipboard.png

OpenRPA Insert Clipboard.クリップボード挿入)。

OpenFlowの起動

Invoke OpenFlowはOpenFlow/ Node-REDで設定されたワークフローを呼び出すことができます。つまり、ワークフローのページ(例:http://localhost.openiap.io/#/Workflows)で利用可能です。

プロパティ パラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Wait until CompletedTrueに設定すると、OpenRPAは Workflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDのフローで設計されたもの)がOpenRPAロボットに返されます。

しかし、Falseに設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信は一方通行となります。したがって、これに依存するすべてのロジックを再設計する必要があります。例外メッセージを返さないtry/catch例外ブロックのようなものだと考えてください。³

ワークフロー– 呼び出されるワークフロー

備考

ワークフローはOpenRPA/OpenFlowに現在ログインしているユーザーによって呼び出されます。つまり、呼び出すべきワークフローにアクセスできるユーザーでなければ、ワークフローのドロップダウンに表示すらされないということです。

images/openrpa_invoke_openflow.png

OpenRPA Invoke OpenFlow.

OpenRPAの起動

Invoke OpenRPAはOpenFlowのリポジトリに保存されているOpenRPA WorkflowsRPA Workflowsページで公開されているもの)を呼び出すことができます(例:http://localhost.openiap.io/#/RPAWorkflows)

Map Variables]ボタンをクリックすると、現在設定されている変数や引数をワークフ ローの呼び出しに渡すことができます。これを行うには、ドロップダウンからワークフローを選択した後、「変数、引数、イン ポート」ボックスで引数を作成し、アクティビティで「変数マッピング」ボタンをクリッ クします。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Wait until CompletedTrueに設定すると、OpenRPAは Workflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDのフローで設計されたもの)がOpenRPAロボットに返されます。

しかし、Falseに設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信が一方通行になるため、これに依存するすべてのロジックを再設計する必要があります。これは、例外メッセージを返さないtry/catch例外ブロックだと考えてください。

ワークフロー– 呼び出されるワークフロー

images/openrpa_invoke_openrpa.png

OpenRPAを起動する OpenRPA.

リモートOpenRPAの起動

OpenFlowのリポジトリに保存されたRPAワークフローをリモートで呼び出し、他のOpenRPAクライアントで実行できるようにします。

Map Variables] ボタンをクリックすると、現在設定されている変数や引数を ワークスフローの呼び出しに渡すことができます。これを行うには、ドロップダウンからワークフローを選択した後、「変数、引数、イン ポート」ボックスで引数を作成し、アクティビティで「変数マッピング」ボタンをクリッ クします。

プロパティ パラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Target– ワークフローを実行するためにアクティブにされるターゲットを識別するOpenFlowのハッシュ文字列。

完了 するまで待つ

Trueに設定すると、OpenRPAはWorkflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDでのフローで設計されたもの)がOpenRPAロボットに返されます。

しかし、Falseに設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信が一方通行になるため、これに依存するすべてのロジックを再設計する必要があります。これは、例外メッセージを返さないtry/catch例外ブロックだと考えてください。

Workflow– 実行されるワークフローを識別するOpenFlowのハッシュ文字列。

images/openrpa_invoke_remote_openrpa.png

OpenRPA Invoke Remote OpenRPA.起動します。

マウスを移動させる

マウスカーソルをGetElementで見つかった要素(要素がない場合はデスクトップ)に相対する位置に移動します。

このActivityには、2つの使用モードがあります。

最初の使用モードはセレクタレスです。このモードでは、アクティビティはスクリーンの絶対値を使用してXと Yのオフセット値を見つけます。例として、ユーザーが 1366x768のディスプレイを持っている場合、アクティビティはスクリーン内のその解像度に従ってマウスを移動させる。このモードを使用するには、ユーザーがアクティビティのElementプロパティ内の任意の値(デフォルト値はitem)を削除するだけで、Xと Yのオフセット値を定義することができます。

2つ目の使用モードはセレクタバウンドです。このモードでは、Windowsの要素を選択した後、アクティビティは要素が占める画面の部分の相対値を使用して、Xと Yのオフセット値を見つけます。このモードを使用するには、ユーザーはMove Mouseアクティビティを選択された要素にドラッグし、Xと Yのオフセット値を定義するだけでよいのです。

アプリケーションは、「要素の取得」アクティビティを使用して選択する必要があります。

プロパティパラメータ

Animate MouseTrueに設定すると、カーソルは実行中にその位置を変えて表示されます。プレゼンテーションで何が起こっているかを示すのに適しています。

Displayname– シーケンス内のアクティビティのタイトルです。

要素要素の取得アクティビティで選択されたアプリケーション。

ポストウェイトOpenRPAがこのアクティビティの実行を完了した後、終了するまで待つ時間です。

X Offset– カーソルの移動先となるウィンドウ内の水平オフセット.単位はピクセルです。また、負の値を指定することもできます。

Y Offset– カーソルが移動するウィンドウ内の垂直方向のオフセットです.単位はピクセルです。また、負の値を指定することもできます。

備考

このアクティビティは、マウスIOを必要とします。もし見つからなかった場合は、エラーを返します。 マウス 入力を 送信 できませんでしたエラーコード。 5. OpenRPAClientがWindowsのリモートデスクトップ内から起動され、セッションが切断された場合に発生することがあります。これを避けるには、HDRobots拡張を使用し、RDPセッションを切断/終了しないか、他の方法(VNCサーバーの実行など)でセッションを永続化する必要があります。

images/openrpa_move_mouse.png

OpenRPAムーブマウス.

オープンアプリケーション

Open Applicationはセレクタを元にWindowsの要素を検索し、その要素にフォーカスを当てます。アプリケーションを見つけられなかった場合は、アプリケーションを起動します。

ハイライトをクリックすると、セレクタの条件に一致する最初の要素が赤くハイライトされます。セレクタが正しく設定されているかどうかを確認するのに便利です。

このアクティビティは、自身の内部でセレクタを操作することも可能です。必要なことは、GetElement、またはそれに応じたアクティビティを、そのシーケンス内にドラッグすることだけです。

このアクティビティは、ブラウザや、Java、SAPなどの他のアプリケーションで動作させることもできます。プロパティパラメータ

Animate Move– 開くアプリケーションのウィンドウを瞬時に移動させるのではなく、目に見える形で移動させます。プレゼンテーションに便利です。

Check Running– アプリケーションがセレクタを使用してすでに実行されているかどうかをチェックします。Falseに設定すると、何があっても新しいアプリケーションを起動します。

Displayname– シーケンス内のアクティビティのタイトルです。

Height– 設定された場合、アプリケーションはこの高さで開かれます。単位はピクセルです。

Result– 実行結果を変数に保存します。デフォルトでは、アプリケーションのElementそのものを保存します。

セレクタ– アプリケーションの識別に使用されるすべてのデータが含まれています。

Timeout– アプリケーションが見つかったかどうかを確認する時間。基本的には、Check Runningパラメータのタイムアウトです。 単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。

Width– 設定された場合、アプリケーションはこの高さで開かれます。単位はピクセルです。

X– 設定された場合、アプリケーションはこの水平オフセットに移動します。単位はピクセルです。また、負の値も可能です。

Y– 設定された場合、アプリケーションはこの垂直オフセットに移動します。単位はピクセルです。また、負の値も可能です。

images/openrpa_open_application.png

OpenRPAオープンアプリケーション

バルーンチップを表示する

バルーンチップの表示] は、システムトレイ付近の [通知の表示] アクティビティと同様のメッセージを表示します。タイトルが表示され、エラーや警告など他の種類の通知も可能な点で、[通知を表示]とのみ異なります。

プロパティパラメータ

期間– メッセージが表示される期間です。

Message– 表示されるメッセージ。引用符で囲む必要があります。

タイトル– バルーンチップのタイトルです。

Displayname– シーケンス内のアクティビティのタイトルです。

NotificationType– 異なる通知タイプ。情報、エラーまたは警告。

備考

UI 要素を変更するアクティビティ(Show Balloon Tip、WriteLine、Show Notification など)を多用しないようにします。これらのアクティビティはシングルスレッドで実行されるため、実行されるたびにワークフローの実行が一時的に停止する。

images/openrpa_show_balloon_tip.png

OpenRPAショーバルーンTip.

タイプ テキスト

ユーザーはこのアクティビティを使用することを強くお勧めします。GetElementアクティビティで要素を選択し、Assignプロパティを使って文字列値を割り当てるのが望ましいでしょう。

Type Textは、Hintに含まれるテキストから、現在フォーカスされているウィンドウにキーストロー クを送信します。すべてのキーストロークを記憶するのではなく、すべてのキーストロークを自動的にマッピングするRecorderの使用を推奨します¹。

キーストロークの構文は、「{{Modifier1, Key1}」とします。{修飾子2, キー2}」。{…}{修飾子N、KeyN}}」とします。補助キーとなる修飾子CtrlAltShiftなど)は必須ではありませんのでご注意ください。

また、ユーザーは変数や ハードコードされたテキストを送信することもできます。例えば、”{{Modifier1, Key1}}” を送信します。SOME TEXT ” + desired_variable + “{Enter}”のように送信します。

プロパティパラメータ

クリックディレイ– 各キーストローク間のディレイ。

Displayname– シーケンス内のアクティビティのタイトルです。

Textワークフローデザイナー内の表示名。

備考

このアクティビティは、キーボードIOを必要とします。もし見つからない場合は、”Could not send keyboard input. “を返します。エラーコード。5”.この現象は、Windowsリモートデスクトップセッションの内部からOpenRPAClientを起動し、そのセッションを切断した場合に発生することがあります。これを回避するためには、HDRobotsエクステンションを使用してください。RDPセッションを切断/終了したり、他の手法(VNCの実行など)でセッションを持続させたりしないでください。

images/openrpa_type_text.png

OpenRPAタイプテキスト

¹ – `TypeText Activityの概要 <https://openrpa.openiap.io/pages/typetext-syntax>`_ (“https://openrpa.openiap.io/pages/typetext-syntax“)

3.5.4.13. OpenRPA.Script

OpenRPA.Scriptのツールボックス内にあるアクティビティを紹介します。

呼び出しコード

エディタ内にコードを記述し、ワークフロー・シーケンスの特定のステップで指定されたコードを実行することができます。現在サポートされている言語は、C#、 PowerShellPythonVBAutoHotkeyです。コードを書くには、「Open Editor」ボタンをクリックし、ドロップダウンから希望の言語を選択し、「Validate」ボタンをクリックするだけです。ワークフローが実行されると、コードが実行されます。

このアクティビティがデータ バインディングをサポートしていること、つまり、ユーザーがOpenRPA内部で変数を定義してコード内部でそれを使用したり、逆に変数が事前に定義されている必要があることをユーザーに思い出させることは有用です。また、このアクティビティで書かれたコードを実行するために使用されるPython環境には、組み込みのPythonバージョン(3.7.3)がインストールされていることに注意する必要があります。もし、ユーザーがフォルダ内にインストールされた外部環境(ウィンドウの環境変数で設定されたユーザー 変数 >パス変数で定義されている)を使用したい場合は、設定>プラグイン実行>スクリプトを参照し、Use embedded pythonチェックボックスをオフにする必要があります。

プロパティパラメータ

Code– 実行されるコード。

DisplayName– シーケンス内のアクティビティのタイトルです。

言語– コードの実行に使用される言語。現在サポートされている言語は、C#、 PowerShellPythonVBAutoHotkeyです。

PipelineOutput– 現在、使用されていないパラメータです。

images/openrpa_invoke_code.png
ピップインストール

現在選択されているPython環境に、1つまたは複数のPythonモジュールをインストールします。ここでいうPython環境とは、OpenRPAがモジュールのインストールに使用するPythonのバージョンのことです。設定 > プラグイン実行 > スクリプトの中にあるチェックボックスをユーザーがオフにしていない場合、OpenRPAは OpenRPAに組み込まれているデフォルトのPython環境を使用します。そうでなければ、OpenRPAは、ウィンドウの環境変数内のユーザー 変数で設定されたパスにインストールされた環境を使用します。

プロパティパラメータ

activity_display_name– シーケンス内のアクティビティのタイトルです。

ForceTrueに設定すると、指定されたモジュールの再インストールを強制します。

Modules– インストールされるモジュールを定義するための文字列配列、例えば{"matplotlib", "sns"} など。

images/openrpa_pip_install.png

3.5.4.14. OpenRPA.ユーティリティ

ここでは、OpenRPA.Utilitiesのツールボックス内にあるアクティビティを紹介します。

AddDataColumn 活動

既存のDataTableに DataColumnを追加します。

ユーザーはまず、DataTableフィールドに列が追加されるDataTableファイルのパスを挿入しなければなりません。次に、空白のドロップダウンからタイプを選択し、最後に新しいDataColumnの名前を挿入してください。

プロパティパラメータ

AllowDBNull– マークの付いた場合、テーブルに属する行のこのカラムにNULL値が許可されます。

AutoIncrement– マークの場合、テーブルに追加された新しい行の列の値が自動的にインクリメントされます。

ColumnName– 追加される列のヘッダーの名前です。

DataTable列が追加されるデータテーブルのファイルパス.

DefaultValueカラムのデフォルト値.AutoIncrementがチェックされている場合、設定されてはいけません。

DisplayName– シーケンス内のアクティビティのタイトル。

MaxLength– テキストカラムの最大長を設定します。

TargetType列のデータの型.

一意– マークの付いた場合、列の各行の値が一意である必要があることを示す。

images/openrpa_add_data_column.png
AddDataRow 活動

既存のDataTableに DataRowを追加します。

ユーザーは、まず フィールドに 挿入 するD ataTableの 中にDataTableを挿入する必要があります。次に、 DataTableの カラムの配列の中に行のデータを挿入します。行のデータは、DataTable内の指定された列の数と一致しなければならないことをユーザーに思い出させることは興味深いことです。

プロパティパラメータ

DataTableデータ行が追加されるデータテーブルのファイルパス.

DisplayName– シーケンス内のアクティビティのタイトルです。

RowData– 行データを含むオブジェクト配列,例えば{"zechriel", 31909790}.

images/openrpa_add_data_row.png
CreateDataTableアクティビティ

このアクティビティでは、カラム名(ヘッダー)を持つ新しいDataTableオブジェクトを作成し、変数にマッピングしています。

ユーザーはまず、New DataTable 変数フィールドに変数を挿入し、Ctrl+Kキーを押して変数を作成しなければならない。次に、与えられたDataTableのカラム名をArray of DataTable columnsの中に挿入しなければなりません、例えば{"name", "telephone_number"}.

プロパティパラメータ

ColumnNamesDataTableオブジェクトのヘッダ。例えば{"name", "telephone_number"} のようなString の配列を含まなければなりません。

DataTable– 新規に作成されたDataTableがマッピングされるDataTableファイルパス型の変数名です。

DisplayName– シーケンス内のアクティビティのタイトルです。

images/openrpa_create_data_table.png
DeleteAllRows 活動

このアクティビティは、既存のDataTableオブジェクトからすべての行を削除します。

DataTableオブジェクトは、Update from DataTableアクティビティで更新する必要があります。

プロパティパラメータ

DataTable– 行を削除するためのDataTableオブジェクト.

DisplayName– シーケンス内のアクティビティのタイトルです。

images/openrpa_delete_all_rows.png
DeleteRow 活動

dt.Rows(n)dataTableオブジェクトを表し、nは指定されたDataRowのインデックスを表しており、指定されたインデックスの行を削除することが可能です。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

RowDataTableから削除されるDataRowオブジェクト.

images/openrpa_delete_row.png
ダウンロードファイル活動

指定されたファイルパスにファイルをダウンロードします。まず、...ボタンをクリックしてファイルを保存するフォルダを選択し、ファイル名と ファイル 形式をドットで区切って入力します(例:`insideairbnb.csv“)。次に、ファイルを取得するためのURLプロパティボックスに入力する必要があります。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

LocalPath– ダウンロードされるファイルのフルパスとファイル名です。

Overwrite– このパラメータは、ファイルがすでに存在する場合、上書きします。

URL– ファイルを収集するためのURLです。

images/openrpa_download_file_step.png
images/openrpa_download_file.png
認証情報の取得

このアクティビティは、Windowsのクレデンシャルマネージャからクレデンシャルセットを取得します。

資格情報を取得・保存する最も推奨される方法は、Set Credentialsアクティビティを使用してOpenFlow MongoDBデータベースを経由する方法です。詳しくは、OpenRPA.OpenFlowDBの項をご参照ください。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

名前– 取得されるクレデンシャルの名前。

Password– パスワードをSecureString型変数(https://docs.microsoft.com/en-us/dotnet/api/system.security.securestring?view=netcore-3.1)に保存します。

UnsecurePassword– 取得したパスワードをString 型の変数に保存します。

Username– 取得したユーザー名をString型の変数に保存します。

images/openrpa_utilities_get_credentials.png
JArrayToDataTable 活動内容

このアクティビティはJSON Arrayの内容をDataTableオブジェクトにパースし、変数にマップします。JArrayは 必ず1次元でなければならず、さもなければ主配列に属さないコンテンツは無視されます。

このアクティビティは、OpenFlowDB.Queryアクティビティを使用して、コレクションのすべての内容をDataTableオブジェクトにマッピングするのに適しています。データを収集したいCollectionを選択し、QueryStringパラメータの中に{}を挿入し、Resultを変数にマッピングします – つまりresultsです。この方法では、すべてのデータを返し、ユーザーはそれを変数jarrayobjに割り当て、コンテンツnew JArray(results)を使用し、最後にこの活動を使用してjarrayobjの内容をデータテーブルにマップします。

プロパティパラメータ

DataTableJArrayの結果を保持するDataTable変数。

DisplayName– シーケンス内のアクティビティのタイトル。

JArray– パースされるコンテンツを保持するJArray変数。

images/openrpa_jarraytodatatable.png
マッチング活動

このアクティビティは、与えられたStringオブジェクトを正規表現パターンにマッチさせ、Stringが与えられたパターンを含んでいれば、ブール値、すなわち、TrueまたはFalseの結果を変数に保存します。正規表現の詳しい説明は、RyansTutorials Regular Expressions(https://ryanstutorials.net/regular-expressions-tutorial/)を参照してください。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

InputRegExパターンにマッチする入力文字列

Pattern– 文字列に対するマッチングに使われるRegExパターン.

ResultRegExパターンに入力文字列が一致した場合、または一致しなかった場合に保存されるブール値、つまりTrueまたはFalseの変数ファイルパス。

Compiled– 正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。

CultureInvariant– マークの場合、言語における文化的差異が無視されることを指定します。

ECMAScript– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCaseMultiline、およびCompiledの各値と組み合わせてのみ使用することができます。

ExplicitCapture– マークの場合、有効なキャプチャは、明示的に名前または番号が付けられたグループのみであることを指定します(?<名前>...)という形式です。これにより、名前のない括弧は、(?:...)のような構文上の不便さを伴わずに、非キャプチャグループとして機能することができます。

IgnoreCase– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。

IgnorePatternWhiteSpace– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白に影響したり、空白を除去したりすることはありません。

Multiline– マルチライン・モード。マークされた場合、^と $の意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。

RightToLeft– マークの場合、左から右ではなく、右から左へ検索することを指定します。

Singleline– マークを付けると、単一行モードが指定されます。ドット(.)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。

images/openrpa_match.png
アクティビティにマッチする

このアクティビティは、与えられたStringオブジェクトをRegular Expressionパターンにマッチさせ、結果のグループをMatchオブジェクトの配列<https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.match?view=netcore-3.1>_(https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.match?view=netcore-3.1) に保存します。

オブジェクトは、下の画像のように、配列にインデックスを付けることでアクセスできます。正規表現についての詳しい説明は、RyansTutorials Regular Expressions(https://ryanstutorials.net/regular-expressions-tutorial/)を参照してください。

プロパティ パラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

InputRegExパターンにマッチする入力文字列ファイルパス.

Pattern– 文字列に対するマッチングに使われるRegExパターン.

Result– 変数ファイルのパスRegExパターンに入力文字列がマッチするかどうか、ブール値、つまり “True“ またはFalse が保存されます。

Compiled– このパラメータは、正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。

CultureInvariant– マークの場合、言語における文化的差異を無視することを指定します。

ECMAScript– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCaseMultiline、およびCompiledの各値と組み合わせてのみ使用することができます。

ExplicitCapture– マークの場合、有効なキャプチャは、明示的に名前付けされたグループ、または(?<名前>...) という形式の番号付けされたグループのみであることが指定されます。これにより、名前のない括弧は、(?:...)のような構文上の不便さを伴わずに、非キャプチャグループとして機能することができます。

IgnoreCase– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。

IgnorePatternWhiteSpace– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白に影響したり、空白を除去したりすることはありません。

Multiline– マルチライン・モード。マークされた場合、^と $の意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。

RightToLeft– マークの場合、左から右ではなく、右から左へ検索することを指定します。

Singleline– マークを付けると、単一行モードが指定されます。ドット(.)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。

images/openrpa_matches.png
ReadCSV 活動

このアクティビティは、.csvファイルの内容をDataTable変数にパースします。

ユーザーはまず…ボタンをクリックして解析されるファイルを選択し、次にプロパティボックス内に内容が保存されるDataTable変数ファイルのパスを挿入する必要があります。

また、Delimeterパラメータで特定の区切り文字を定義することもできます(デフォルトは", "または"; "です)。また、UseHeaderRowsパラメータをFalseに設定することで、ヘッダーをDataTable内に挿入することも可能です。

プロパティパラメータ

DataTable.csvファイルを解析して生成されたコンテンツが保存されるDataTable変数ファイルのパスです。

デリミタ.csvファイルの列を区切るためのデリミタを指定します – デフォルトは","または";" です。

DisplayName– シーケンス内のアクティビティのタイトルです。

Filename– 解析される.csvファイルのフルパスとファイル名です。

UseHeaderRowsFalseに設定すると、OpenRPAは .csvファイルのヘッダーの内容もパースしてDataTableに取り込みます。そうでない場合は、単にヘッダーを無視します。

images/openrpa_read_csv.png
ReadExcel 活動

このアクティビティは、Microsoft Excelドキュメントの内容をDataSet変数にパースします。

ユーザーは、最初に...ボタンをクリックして解析される Microsoft Excel ドキュメントを選択し、次に、コンテンツが保存されるDataSet変数ファイル パスをプロパティ ボックスに挿入する必要があります。また、UseHeaderRowsを Falseに設定することにより、ヘッダーをデータセット内に挿入することもできます。

プロパティパラメータ

DataSet– Microsoft Excel ドキュメントを解析して生成されたコンテンツが保存されるDataSet変数ファイルのパスです。

DisplayName– シーケンス内のアクティビティのタイトルです。

ファイル名– 解析されるMicrosoft Excelドキュメントのフルパスとファイル名です。

UseHeaderRowsFalseに設定すると、OpenRPAはMicrosoft Excelドキュメントのヘッダーの内容も解析してDataSetに取り込みます。そうでなければ、単にヘッダーを無視します。

images/openrpa_read_excel.png
ReadJSONアクティビティ

.jsonファイル内のJSON 配列の内容をDataTable変数にパースします。

現在、1次元のJSON 配列のみをサポートしています。ユーザーは、まず... ボタンをクリックして解析される.jsonファイルを選択し、プロパティ ボックスに内容が保存されるDataTable変数ファイル パスを挿入する必要があります。

ファイルの最初の文字位置には[]、最後の文字位置には[]が必要であることをユーザーに伝えると効果的です。

プロパティパラメータ

DataTable.jsonファイルを解析して生成されたコンテンツが保存されるDataTable変数ファイルのパスです。

DisplayName– シーケンス内のアクティビティのタイトルです。

Filename– 解析される.jsonファイルのフルパスとファイル名です。

images/openrpa_read_json.png
ReadPDF 活動

PDFファイルのテキスト内容をString変数にパースし、オプションで、より多くのパースオプションのためにPdfReader(https://github.com/itext/itextsharp/blob/5d8d6301e334aa37a01b5374cdfd4e9bc20f40ca/src/core/iTextSharp/text/pdf/PdfReaderInstance.cs)Resultとして返します。

ユーザーはまず…ボタンをクリックして解析されるPDFファイルを選択し、次にAllTextパラメータ内にPDFファイル内のすべてのテキストを持つStringオブジェクトを含む変数を挿入する必要があります。

プロパティパラメータ

AllTextPDFファイルのテキスト内容が保存される文字列変数ファイルパスです。

Filename– 解析されるPDFファイルのフルパスとファイル名です。

結果PdfReader変数ファイルのパス、パースから取得したメモリのストリームが保存されます。

images/openrpa_read_pdf.png
リプレース活動

与えられたStringオブジェクトを正規表現パターンにマッチさせ、マッチした各グループの内容をReplacement Stringオブジェクトで置き換えます。

正規表現の詳しい説明は、RyansTutorials Regular Expressions(https://ryanstutorials.net/regular-expressions-tutorial/)を参照してください。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

Input– 入力RegExパターンにマッチし、その内容が置換される文字列ファイルパスです。

Pattern– 文字列に対するマッチングに使われるRegExパターン.

Replacement入力 文字列内の各グループをその内容で置き換えるために利用される,置換 文字列オブジェクト.

結果– このアクティビティによって置き換えられた内容を持つStringオブジェクトの変数ファイルパスが保存されます。

Compiled– このパラメータは、正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。

CultureInvariant– マークの場合、言語における文化的差異を無視することを指定します。

ECMAScript– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCaseMultiline、およびCompiledの各値と組み合わせてのみ使用することができます。

ExplicitCapture– これが指定されている場合、有効なキャプチャは、明示的に名前または番号が付けられた(?<名前>...) 形式のグループのみであることが指定されます。これにより、名前のない括弧を非キャプチャグループとして動作させることができ、(?:...)のような構文上の不便さはありません。

IgnoreCase– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。

IgnorePatternWhiteSpace– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白には影響しませんし、空白を除去しません。

Multiline– マルチライン・モード。マークされた場合、^と $の意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。

RightToLeft– マークの場合、左から右ではなく、右から左へ検索することを指定します。

Singleline– マークを付けると、単一行モードが指定されます。ドット(.)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。

images/openrpa_replace.png
SelectFile 活動

ワークフローのエンドユーザーに対して、FileDialog(https://docs.microsoft.com/pt-br/dotnet/api/system.windows.forms.filedialog?view=netcore-3.1)を使用してフ ァイルを選択し、そのファイルパス(またはパス)を変数に保存するように促し ます。また、ワークフローを構築したユーザーは、ファイルが存在するかどうか、パス が存在するかどうかなど、特定のチェックを実施することができます。

また、IsSaveAsパラメータを変更することで、ユーザは2種類のダイアログを指定することができる。一つ目はOpenFileDialog(https://docs.microsoft.com/pt-br/dotnet/api/system.windows.forms.openfiledialog?view=netcore-3.1)で、エンドユーザがファイルを開いてResultパラメータに保存することができるものである。2つ目はSaveFileDialog(https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.savefiledialog?view=netcore-3.1)で、エンドユーザが空のファイルを希望のfilepathに保存することができます。

MultiselectパラメータをTrueにすると、1 つ以上のファイル パスを返すこともできますが、その場合はFileNamesパラメータを使用して結果を保存しなければなりません。ユーザーが複数のファイルを選択する場合は、括弧を使用して、result(0) のように反復処理することができます。ファイル パスを保持する result 変数をResultまたはResultsパラメータに挿入したら、Ctrl+K キーを押して変数を作成する必要があります。

プロパティ パラメータ

CheckFileExistsTrueの場合、ユーザーが存在しないファイル名を指定した場合に警告を表示します。既定値はFalseです。

CheckPathExistsTrueの場合、ユーザーが存在しないパスを指定した場合に警告を表示します。既定値はFalseです。

DefaultExt– ファイルダイアログ内のデータ表示に使用されるデフォルトの拡張子を設定します(例:txt)。

フィルターファイルの 種類のドロップダウンに表示されるオプションにフィルターをかけます。例:「txt ファイル (*.txt)|*.txt|すべての ファイル (*.*)|*.*」。

FilterIndexFilterパラメータの開始インデックスです。

InitialDirectory– ファイルダイアログの開始ディレクトリ.

IsSaveAsTrueの場合、ダイアログをSaveFileDialog(https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.savefiledialog?view=netcore-3.1)に設定します。そうでない場合は、OpenFileDialog(https://docs.microsoft.com/pt-br/dotnet/api/system.windows.forms.openfiledialog?view=netcore-3.1)に設定されます。

MultiselectTrue の場合、ユーザーが複数のファイルを選択できるようになります。ユーザーは、FileNamesパラメータを使用して、選択したファイルの結果をファイル パスに設定することが義務付けられています。デフォルトはFalseです。

タイトル– ファイルダイアログウィンドウのタイトルです。

DisplayName– シーケンス内のアクティビティーのタイトルです。

FileName– 選択されたファイルのファイルパスを含む文字列を保持する結果変数。MultiselectTrueに設定され、エンドユーザーが複数のファイルを選択した場合、最後に選択されたファイルの値のみが保持されます。

FileNameMultiselectパラメータがTrueに設定されている場合に,選択されたすべてのファイルのパスを含むString[]を保持する結果変数.Falseに設定されている場合、この変数は、インデックス0において選択された1つのファイルのみを保持します。

images/openrpa_selectfile_file_dialog.png
images/openrpa_selectfile.png
SelectFolder アクティビティ

FolderBrowserDialog(https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.1)を使用して、ワークフローのエンドユーザーにフォルダーを選択し、そのフォルダーパスを変数に保存するようプロンプトを表示します。

Folderパラメータにフォルダパスを保持するresult変数を挿入した後、ユーザーはCtrl+Kキーを押してそれを作成する必要があります。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトル。

Folder– 選択されたフォルダのフォルダパスを含む文字列を保持する変数です。

RootFolder– エンドユーザーに表示されるルートフォルダです。空のままだと、Desktopフォルダが表示されます。

ShowNewFolderButton 新規 フォルダーの作成ボタンを表示し、FolderBrowserDialogで新規フォルダーを作成できるようにします。

images/openrpa_selectfolder_folder_dialog.png
images/openrpa_selectfolder.png
SetAllRowsState アクティビティ

このアクティビティは、DataTable内のすべてのDataRowsの状態を設定します。OpenRPA内部でDataTableが作成、更新、削除されるたびに、それに加えられたすべての変更のトランザクションログも同様に作成、更新、削除されます。このアクティビティは、このトランザクションログを更新します。

ここでは、3つの可能性があります。AddedModifiedNot Modifiedです。Addedは DataTableの内容を更新し、Modifiedはデータを含む既存の行を変更し、Not Modifiedはこれらの行に全く作用しない。

これは、例えば DataTable アクティビティから更新を行う際に、新しく追加された行があるかどうかをチェックしてデータベースを更新するので、便利です。All rowsをAddedにすると、ロボットはデータベースを更新する前に、すべての行の情報をチェックします。もし、ユーザーがデータベースに情報を追加したくない場合は、すべての行をNot Modifiedに設定することで対応できます。これは、1つのデータモデルを更新するために、異なるソースから2つのDataTableを使用する場合に便利です。また、このアクティビティは、Update from DataTableがデータベースを処理する際に、update itemコマンドとinsert itemコマンドのどちらを使用すべきかを指示します。

プロパティパラメータ

DataTable– 行が属するDataTableの名前。

DisplayName– シーケンス内のアクティビティのタイトルです。

RowState– 3つのオプションのうち1つを選択します。

SetAutoLoginアクティビティ

このアクティビティは、使用中のマシンでの自動ログオンを設定します。

Microsoft アカウントを使用しない場合、ユーザーは「${HOSTNAME}}${USERNAME}」を使用して、プロパティボックス内のUsernameを設定する必要があります。そうでない場合は、現在使用しているMicrosoft アカウントとして設定された電子メールを使用して、マシンに認証することができます。また、パスワードとして SecureStringを使用することも可能である。パスワードをプレーンテキスト 文字列として保存したい場合は、UnsecurePassword.Password にパスワードを入力するだけです。

プロパティパラメータ

AutoLogonCountAutoLogonCountは、AutoLogon を使用してコンピュータにログオンできる回数を指定します。この値は、コンピュータにログオンするたびに減少します。AutoLogonCount の値をリセットするには、コンピュータを再起動する必要があります。

DisplayName– シーケンス内のアクティビティのタイトルです。

パスワード– ここで定義されたSecureStringをログイン時のデフォルトパスワードとして使用します。

UnsecurePassword– ここで定義されたプレーンテキスト 文字列を、ログイン用のデフォルトパスワードとして使用します。

Username– ログイン時のユーザー名を定義する文字列オブジェクト。

images/openrpa_set_auto_login.png
認証情報の設定

このアクティビティは、Windowsのクレデンシャルマネージャからクレデンシャルセットを作成または更新します。

資格情報を取得・保存する方法として最も推奨されるのは、Set CredentialsActivityでOpenFlow MongoDBデータベースを利用する方法です。詳しくは、OpenRPA.OpenFlowDBの項をご参照ください。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトルです。

名前– 保存されるクレデンシャルの名前。

Password– 保存される資格情報のパスワード。

Username– 保存される資格情報のユーザー名です。

images/openrpa_utilities_set_credentials.png
StartProcess 活動

Filenameパスパラメータで指定された実行ファイルを参照するプロセスを開始する。

また、ユーザーはArgumentsパラメータ内で実行されるプロセスに引数を渡すことができる。コマンドラインインターフェースからプロセスを開始するときと同様である。このActivityでは、プロセスが開始するディレクトリとして使用するWorkingDirectoryも渡すことができる。

また、WaitForExitを設定することで、OpenRPAがプロセスの実行停止を待つかどうかを定義することができます。また、WaitForExitパラメータにタイムアウトを定義することも可能です。

プロパティパラメータ

Arguments– プロセスの実行に渡すことができるオプションの引数。

Filename– そのプロセスを持つ実行ファイルのパス。

WaitForExitTrueの場合、プロセスの実行が終了するのを待ちます。

WaitForExitTimeout– プロセスの実行が停止するのをOpenRPAが待機する時間間隔。単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトを使用できます。

WorkingDirectory– プロセスを実行するための開始ディレクトリ。

DisplayName– シーケンス内のアクティビティーのタイトル。

images/openrpa_startprocess.png
images/openrpa_startprocess_parameters.png
images/openrpa_startprocess_started.png
WriteCSV 活動

このアクティビティは、DataTableの内容を.csvファイルに書き出します。

ユーザーはまず、...ボタンをクリックして、DataTableの書き込み先となるファイルを選択する必要があります。そして、その内容を取得するDataTable変数をプロパティボックスに挿入してください。

また、Delimeterパラメータで特定の区切り文字を定義することもできます(デフォルトは", "または"; "です)。また、IncludeHeadersパラメータをTrueに設定することで、DataTableの中にヘッダを挿入することができます。

プロパティパラメータ

DataTable– コンテンツの取得元となるDataTable変数.

デリミタ– このパラメータは、.csvファイルの列を区切るために使用されるデリミタを指定します – デフォルトは","または";" です。

DisplayName– シーケンス内のアクティビティのタイトルです。

Filename– 書き込まれる.csvファイルのフルパスとファイル名です。

IncludeHeadersTrue に設定すると、OpenRPA は DataTableヘッダーの内容も.csvファイルに書き込みます。

images/openrpa_write_csv.png
WriteExcel 活動

このアクティビティは、DataSetまたはDataTableオブジェクトの内容を Microsoft Excel ドキュメントに書き込みます。

まず、...ボタンをクリックして、データテーブルを書き込む Microsoft Excel ドキュメントを選択する必要があります。そして、その内容を取得するデータセットまたはデータテーブル変数をプロパティボックスの中に挿入してください。

また、includeHeaderパラメータをTrueに設定することで、DataTable内にヘッダを挿入することができます。また、Microsoft Excel ドキュメント内のセルの色に使用されるテーブルスタイル(https://www.excel-easy.com/examples/table-styles.html) を含むテーマを指定することもできます。

プロパティパラメータ

DataSet– コンテンツの取得元となるDataSet変数.

DataTable– コンテンツの取得元となるDataTable変数.

DisplayName– シーケンス内のアクティビティのタイトルです。

ファイル名– 書き込まれるMicrosoft Excelドキュメントのフルパスとファイル名です。

IncludeHeadersTrue に設定すると、OpenRPA は DataTableヘッダーの内容も.csvファイルに書き込みます。

テーマ– Microsoft Excel文書内のセルの色付けに使用するテーマを指定することができます。

images/openrpa_read_excel.png

3.5.4.15. OpenRPA.Windows

ここでは、OpenRPA.Windowsのツールボックス内にあるアクティビティを紹介します。

エレメントを取得

このアクティビティは、[セレクタを開く]ボタンを使って、または録音によって自動的にエレメントを選択します。

また、「ハイライト」ボタンを使って、画面内の選択部分を強調表示することもできます。ハイライト」ボタンをクリックすると、セレクタの条件に一致する最初の要素が赤くハイライトされます。このアクティビティは、セレクタが正しく設定されているかどうかを確認するのに便利です。

プロパティパラメータ

表示名– シーケンス内のアクティビティのタイトルです。

要素– 画像の収集元となる要素。

From– 要素のインスタンスの中から見つかった要素内のみを検索することができます。

MaxResults– 最大結果の数。

MinResults– 最小結果の数。この値が0より大きく、このアクティビティが要素を見つけられなかった場合、例外(ElementNotFound)がスローされます。要素が存在するかどうかを確認したい場合は、この値を0にして、シーケンス内で ‘item.Length() == 0’ となるかどうかをテストしてください。

セレクタ– 選択されたアプリケーションに属するすべてのデータが含まれます。

Timeout– 要素の検索に成功しなかった場合、アクティビティが停止するまでの時間間隔。 単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。

images/openrpa_windows_get_element.png

OpenRPA.Windows ゲットエレメント

3.5.4.16. システム.アクティビティ

OpenRPA.System.Activitiesツールボックスにあるアクティビティを紹介します。

AddToCollection<> アクティビティ

このアクティビティは、コレクションにアイテムを追加します。

コレクションはリストと似ていますが、リストが新しい項目を受け入れないのに対して、コレクションは新しい項目を受け入れないという点を覚えておいてください。このテーマに関する包括的な説明は、Microsoftの.NET公式Webページ(https://docs.microsoft.com/pt-br/dotnet/visual-basic/programming-guide/concepts/collections)を参照してください。

Collectionはまず、System.Collections.Generic.List<T>に変数を代入して初期化する必要がある。ここでTはCollection内に含まれるオブジェクトのデータ型に対応するものである。例えば、文字列の コレクションで、ユーザが一つの値"name" で初期化したい場合、彼は値new List(of string)({"name"})を目的の変数に代入します。

プロパティパラメータ

Collection– 一致する要素が存在するかどうかをチェックするコレクションの名前。これは、変数または引数として最初に宣言されている必要があり、引数の型はSystem.Collections.Generic.List<T> です。ここで、Tは、コレクション内に含まれるオブジェクトのデータ型に対応します。

.

表示名– シーケンス内のアクティビティのタイトルです。

Item– 追加される項目。TypeArgumentで宣言されたものと同じ型でなければならない。

TypeArgument– リストの項目のデータのタイプ。

images/openrpa_add_to_collection.png

システム.アクティビティAddToCollection<>。

アクティビティを割り当てる

このActivityは、変数に値を代入するために使用されます。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

To– 値が割り当てられる変数ファイルのパス。

Value– 変数に代入される値です。

images/openrpa_assign.png

システム.アクティビティ割り当て

ClearCollection<> アクティビティ

このアクティビティは、コレクションをクリアする、つまり、コレクションからすべてのアイテムを削除します。

プロパティ パラメータ

Collection– 一致する要素が存在するかどうかをチェックするコレクションの名前。これは、変数または引数として最初に宣言されている必要があり、引数タイプはSystem.Collections.Generic.List<T> です。ここで、TはAddToCollection<>アクティビティセクションの画像に見られるように、コレクション内に含まれるオブジェクトのデータ型に対応しています。

表示名– シーケンス内のアクティビティのタイトルです。

TypeArgument– リストの項目のデータの型。

images/clearcollection.png

System.Activities ClearCollection<>。

ディレイ活動

TimeSpanクラスへのオブジェクトのインスタンスから遅延を作成します。また、ユーザーは単純にHH:MM:SSのフォーマットで時間の長さを入力することができます。

プロパティ パラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Duration– 遅延の長さを指定する引数です。単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトにすることができます。

備考

TimeSpan値は時間間隔を表し、特定の日数、時間、分、秒、ミリ秒として表現することができる。特定の始点や終点を持たない一般的な間隔を表すため、日数が可変である年や月で表すことはできない¹。

¹ – `TimeSpan Struct <https://docs.microsoft.com/en-us/dotnet/api/system.timespan?view=netcore-3.1>`_ (“https://docs.microsoft.com/en-us/dotnet/api/system.timespan?view=netcore-3.1“)

images/openrpa_delay.png

システム.アクティビティ ディレイ.

Do Whileアクティビティ

ループ内にドロップされた他のアクティビティを少なくとも1回実行し、ループの条件が Trueに評価されなくなるまで繰り返し実行するループを作成します。

プロパティ パラメータ

Condition– これは、ループ条件を表すVB Expressionです。

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_do_while.png

システム.アクティビティ.Do.While.

ExistsInCollection<> アクティビティ

このActivityは、コレクションにItemが存在するかどうかを調べ、ブール値を返す。

Collectionはまず、System.Collections.Generic.List<T>に変数を代入して初期化する必要がある。ここでTはCollection内に含まれるオブジェクトのデータ型に対応するものである。例えば、文字列の コレクションで、ユーザが一つの値"name" で初期化したい場合、彼は値new List(of string)({"name"})を目的の変数に代入します。

プロパティ パラメータ

Collection– 一致する要素が存在するかどうかをチェックするコレクションの名前。これは、変数または引数として最初に宣言されている必要があり、引数タイプはSystem.Collections.Generic.List<T> です。ここで、TはAddToCollection<>アクティビティセクションの画像に見られるように、コレクション内に含まれるオブジェクトのデータ型に対応しています。

Displayname– シーケンス内のアクティビティのタイトルです。

Itemコレクション内部で検索される項目。TypeArgumentで宣言されたものと同じタイプでなければならない。

Resultブーリアン変数、または結果が保存されるファイルパス。

TypeArgument– リストの項目のdatatype

images/existsincollection.png

システム.アクティビティExistsInCollection<>。

フローチャート活動

フローチャートは、非連続的なワークフローを追加するために使用される。定義によると、フローチャートアクティビティは、実行されるアクティビティのコレクションを含むアクティビティである。

フローチャートはシーケンスに似ているが、より簡単に扱えるのがデシジョンツリーである。シーケンスの中に複数の「if」文がある場合(特にネストされている場合)、アクティビティやデータの扱いが非常に難しくなることがある。フローチャートは、このような状況を簡単に処理し、ワークフローをよりユーザーフレンドリーでグラフィカルな方法で可視化することができます。

フローチャートにアクティビティを追加するには、フローチャートに「シーケンス」を追加し、その「シーケンス」の中にアクティビティを追加する方法がある。

プロパティ パラメータ

表示名– シーケンス内のアクティビティのタイトルです。

ValidateUnconnectedNodesTrue の場合、フローチャートの実行フローに接続されていないノード内のワークフロー ロジックの検証を実行します。

images/flowchart.png

System.Activityのフローチャート

FlowDecision活動

このアクティビティは、変数の値に基づいて、含まれるアクティビティ間の実行を指示する。Ifアクティビティと同様に、ブーリアン条件に基づいて実行を分岐させる。

このアクティビティは、ブール値「True」または「False」で表される2つの可能なパスにフローをルーティングする役割を担っています。これは、2つの可能な分岐結果のみを持つIf文と非常によく似ている。

プロパティパラメータ

条件– バリデートされるVB式。

表示名– フローチャート内のアクティビティのタイトル。

FalseLabelFlowDecisionノードの “False “出口に表示されるテキスト。

TrueLabelFlowDecisionノードの “True “出口に表示されるテキスト。

images/flowdecision.png

システム.アクティビティフローの決定。

FlowStep活動

Coming soon – work in progress!

FlowSwitch<>アクティビティ

このアクティビティは、2つ以上の代替ブランチを持つマッチ基準に基づく条件ノード(FlowDecisionと同様)である。分岐が2つだけの場合は、FlowDecisionの方が良い選択である。また、Switchと似ているが、シーケンスではなくフローチャート上で動作するように設計されている。

ワークフローに複数のルートを作成する必要がある場合に有効です。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

Expression– アクティビティで検証されるVB式です。

images/flowswitch.png

システム.アクティビティフロースイッチの

HandleScope<> アクティビティ

このActivityは、Microsoft Workflow Foundationからのベースラインであるため、System.Activityに存在し、リストされていますが、OpenFlow/ OpenRPAのコンテキストで使用されています。

このActivityの包括的な説明は、このテーマに関するマイクロソフトのウェブサイト(https://docs.microsoft.com/pt-br/dotnet/api/system.activities.statements.handlescope-1?view=netframework-4.8)をご覧ください。

アクティビティーの場合

progの条件文に似ている。節条件が Trueの場合、Thenブロックのアクティビティを実行します。もしFalseなら、Elseブロックを実行する。

プロパティパラメータ

Condition– これは、句の条件を表すVB Expressionである。

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_if.png

システム.アクティビティ場合

InvokeMethod アクティビティ

このActivityは、オブジェクトに定義されたパブリックメソッドを変数内部で呼び出すことができるものです。

実用的には、値を返さない式を呼び出したり、OpenRPA内部にActivityとして存在しないメソッドを実行するための方法です。また、値を返すメソッドにしか使えないAssignアクティビティの代替と見なされています。

ユーザーはまず、MethodNameパラメータで呼び出されるメソッドを指定する必要があります。

もしユーザが非静的メソッドを呼び出したい場合は、TargetObjectフィールド内にメソッドが実行されるオブジェクトを代入する必要があります。TargetObjectと TargetTypeは相互に排他的であることをユーザーに思い出させるのに便利です。

静的メソッドを呼び出したい場合は、TargetTypeフィールドにメソッドが実行されるクラスタイプを指定する必要があります。

もしユーザがジェネリックメソッドを呼び出したい場合は、GenericTypeArgumentsフィールドにジェネリックタイプを指定する必要があります。これについては、`Generic Methods (C# Programming Guide)`_(https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generic-methods)を参照してください。

また、Resultパラメータには、メソッド呼び出しの結果を保存する変数をユーザーが指定することができる。

また、ユーザーはRunAsynchronouslyチェックボックスをチェックすることで、メソッドを非同期で実行するかどうかを指定することができます。

InvokeCodeを使用すると、インテリセンスによる自動補完やその他の機能があるため、より良い選択肢であることに注意してください。

プロパティパラメータ

表示名– シーケンス内のアクティビティのタイトルです。

GenericTypeArgumentsジェネリックメソッドを呼び出す際に、ユーザーがジェネリック 引数を渡すことを可能にする。

MethodName– 呼び出されるメソッドの名前です。

パラメータ– メソッドに必要なパラメータ。

Result– 結果を格納する変数または引数ファイルのパス。データ型は、メソッドから期待される結果と一致している必要があります。

RunAsynchronouslyTrueに設定すると、ロボットはワークフローと並行してこのメソッドを実行します(つまり、他のアクティビティに移る前にメソッドが完了するのを待つことはありません)。

TargetObject– メソッドが実行されるオブジェクト。TargetTypeと相互排他的です。

TargetType– メソッドが実行されるクラスタイプ。TargetObjectと排他的です。

images/openrpa_invoke_method.png
NoPersistScope 活動

このActivityは、Microsoft Workflow Foundationからのベースラインであるため、System.Activityに存在し、リストされていますが、OpenFlow/ OpenRPAのコンテキストで使用されています。

このActivityの包括的な説明は、このテーマに関するマイクロソフトのウェブサイト(https://docs.microsoft.com/en-us/dotnet/api/system.activities.statements.nopersistscope?view=netframework-4.8)をご覧ください。

パラレル・アクティビティ

OpenRPAが複数のSequenceを同時に実行できるようにするActivityです。

Parallelの中にSequence Activityを追加し、このSequenceの中にActivityを追加する必要があることに注意してください。

このアクティビティは、その中の複数のシーケンスがUIで動作している場合、異なるアクティビティ間の競合を引き起こす可能性があるため、推奨されません。これは、異なるSequenceが同時に同じアプリケーションにアクセスする場合や、マウスやキーボードを使用する場合にも当てはまります。

プロパティ パラメータ

CompletionCondition– ブール値。Falseに設定された場合、ロボットは次のアクティビティに進む前に、並行しているすべてのSequenceが終了するのを待ちます。そうでない場合、ロボットは、1つのSequenceが終了すると、次のアクティビティに進みます。

表示名– シーケンス内のアクティビティのタイトルです。

パーシスト活動

このアクティビティは、すべての変数と状態をXMLファイルに保存し、OpenRPAが「アイドル」状態になった最後のアクティビティからワークフローを継続できるようにします。

重要なことは、ワークフローがシリアライズ可能な変数を持っている場合のみ、この処理を行うことができるということです。例えば、DataTablesはシリアライズ可能ではありません。したがって、変数のシリアライズ時に何らかのエラーが発生した場合(つまり、ワークフローがDataTablesを持つ場合)、状態は全く持続されない。

プロパティ パラメータ

表示名– シーケンス内のアクティビティのタイトルです。

images/persist.png

System.Activityの永続性

ピック活動

このアクティビティでは、ユーザーがワークフローの実行を分岐させ、最初にトリガーされた分岐を進めることができます。

各ブランチには、TriggerフィールドとActionフィールドがあります。トリガーは、Detectorのようなイベントドリブンなアクティビティと連動するように設計されています。Detectorがトリガーされると、ActionフィールドにあるActivityが実行されます。

トリガーフィールドに何も入力されていない場合、両方のブランチが実行され、最初のブランチが完了すると、ロボットはピックアクティビティを終了します。実用的には、このアクティビティの使い方は「並列アクティビティ」と非常に似ていますが、次に進む前にすべてのブランチが完了するのを待たないという点が異なります。

プロパティパラメータ

表示名– シーケンス内のアクティビティのタイトルです。

images/pick.png

システム.アクティビティピック

RemoveFromCollection<> アクティビティ

このアクティビティは、コレクションから1つのアイテムを削除します。

コレクションはリストと似ていますが、リストが新しい項目を受け入れないのに対して、コレクションは新しい項目を受け入れないという点を覚えておいてください。このテーマに関する包括的な説明は、Microsoftの.NET公式Webページ(https://docs.microsoft.com/pt-br/dotnet/visual-basic/programming-guide/concepts/collections)を参照してください。

プロパティパラメータ

Collection– 一致する要素が存在するかどうかをチェックするコレクションの名前。これは、変数または引数として最初に宣言されている必要があり、引数タイプはSystem.Collections.Generic.List<T> です。ここで、TはAddToCollection<>アクティビティセクションの画像に見られるように、コレクション内に含まれるオブジェクトのデータ型に対応しています。

表示名– シーケンス内のアクティビティのタイトルです。

Item– 削除される項目。TypeArgumentで宣言されたものと同じ型でなければならない。

Result– 結果を格納する変数または引数ファイルのパス。これは、”Boolean “タイプでなければなりません。

TypeArgument– リストの項目のデータの型。

images/removefromcollection.png

System.ActivitiesRemoveFromCollection<>の略。

Rethrow活動

このActivityは、Throwブロックと同じコンテキストで、Catchブロックの内部で使用する必要があります。違いは、このアクティビティはTryブロックで投げた例外と同じ例外をCatchブロックで再度投げることです。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

images/rethrow.png

システム.アクティビティ再投入

シーケンス活動

このアクティビティは、メインシーケンスにシーケンスをネストさせるために使用される。メインシーケンスと同じように、この中にアクティビティをドロップすることができます。展開したり折りたたんだりできるので、コードやワークフローを整理するのに便利です。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_sequence.png

システム.アクティビティ シーケンス.

国家活動

ステートマシンを構成する基本単位で、特定の時間に1つの状態にしかならない。

各状態には、Entry Action(状態に入るときに実行されるアクティビティ)とExit Action(状態を抜けるときに実行されるアクティビティ)が存在することになります。OpenRPAでは、ユーザーは各状態をダブルクリックして、その状態の入口と出口で実行されるアクティビティを編集することができます。

それ以外に、ステート間の遷移を編集することも必要です。新しいStateを追加して最初のStateに接続すると、両者の接続線に「T」と数字が付いた円が表示されます(例:最初の遷移はT1、2番目はT2、などなど)。この円をダブルクリックすると、StateMachineがこれらの異なる状態間をどのように遷移するかを、評価およびチェックされるConditionとして VB 式を 挿入して編集できます。

Transitionの設定では、あるConditionを満たした場合に実行するActivityと、そのConditionをチェックした場合に実行するActivityを追加することができます(Triggerフィールドで)。つまり、ロボットは実行可能な全てのトランジションをチェックし、トリガー内のアクティビティを実行し、コンディションを満たしたものだけに順次進んでいく。なお、「条件」は「状態」ではなく「遷移」の中にあるので、「条件」を満たさない場合でも「トリガー」は実行される。

StateとStateMachineに関する包括的な説明は、マイクロソフトの公式サイト(https://docs.microsoft.com/pt-br/dotnet/framework/windows-workflow-foundation/state-machine-workflows)を参照してください。

プロパティパラメータ

表示名– シーケンス内のアクティビティのタイトルです。

images/state.png

System.Activityの状態

StateMachine 活動

ステートマシンはイベント駆動型のワークフローであり、「シーケンス」や「フローチャート」とは異なるタイプのワークフローを構成する。ワークフローが完了したときに到達する初期状態と最終状態は、少なくとも1つだけ存在することができる。ステートマシンは、特定の時間に1つの状態であることができるだけです。

プロパティパラメータ

表示名– シーケンス内のアクティビティのタイトルです。

StateとStateMachineに関する包括的な説明は、マイクロソフトの公式サイト(https://docs.microsoft.com/pt-br/dotnet/framework/windows-workflow-foundation/state-machine-workflows)を参照してください。

images/statemachine.png

システム.アクティビティStateMachine

スイッチ<>アクティビティ

このアクティビティは、ケース内のキーに対して式を評価し、一致したケースに関連するアクティビティを実行します。

このアクティビティをデザイナーにドラッグすると、ダイアログウィンドウが表示され、ユーザーは式のデータ型を選択することができます。その後、式が評価されるたびに実行される「デフォルト」ブロックと、新しいケースを追加するオプションが表示されます。それぞれのケースには、キー(式に対してテストされる値)と新しいアクティビティをドロップするためのブロックが含まれます。ロボットはすべての値を「式」に対してテストし、そのうちの1つが一致すれば、関連するアクティビティが実行されます。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

Expression– ケース内のキーのテスト対象となる式。

images/switch.png

システム.アクティビティ スイッチ<>。

TerminateWorkflow 活動

ワークフローの実行を終了させるアクティビティ。一度終了したワークフローは、再開することができない。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

Exception– ワークフローが終了するときにスローされる例外。対応するデータ型(System.Exception)で既に宣言された変数または引数でなければなりません。

Reason– ワークフローが終了した理由を説明する文字列。

images/terminateworkflow.png

System.Activities TerminateWorflow (システムアクティビティターミネイトワーフロー

投擲活動

このアクティビティは、特定のケースでワークフローの実行を終了させ、エラーメッセージを表示するメソッドを提供します。プログラミングでは、「例外を投げる」と呼ばれます。Exception欄に例外を入力し、newと入力すると、利用可能な例外が表示されます。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Exception– エラーメッセージに表示される例外です。

images/openrpa_throw.png

システム.アクティビティスロー

TransactionScope アクティビティ

このActivityは、Microsoft Workflow Foundationからのベースラインであるため、System.Activityに存在し、リストされていますが、OpenFlow/ OpenRPAのコンテキストで使用されています。

このActivityの包括的な説明は、このテーマに関するマイクロソフトのウェブサイト(https://docs.microsoft.com/pt-br/dotnet/api/system.transactions.transactionscope?view=netcore-3.1)をご覧ください。

TryCatch 活動

Tryブロック内の一連のアクティビティを実行しようとします。その中でエラーが発生した場合、エラーがキャッチされ、Catchesブロック内のアクティビティが実行されます。実行の最後には、Finallyブロックが実行されます。

プロパティパラメータ

Displayname– メインシーケンス内のアクティビティのタイトルです。

images/openrpa_try_catch.png

システム.アクティビティ TryCatch.

活動中

このActivityは、条件が満たされていない間(つまりFalseの間)、その中にドロップされた他のActivityを実行するループを作成する。条件が満たされる、つまりTrueになると、ループは終了し、次のActivityに移行する。ループを開始する前に、まず条件がTrueに評価されるかどうかをチェックするDo WhileActivityとは異なる。

プロパティパラメータ

Condition– これは条件を表すVB Expressionです。

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_while.png

システム.アクティビティ.While.

WriteLine 活動

このActivityは、Text文字列に従って、コンソールに出力を書き込む。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Text– コンソールに表示される文字列.

TextWriterオプション– 文字ストリームの書き込みに使用されるライターです。

TextWriterクラスは抽象クラスです。したがって、ユーザーはコード内でこれをインスタンス化するべきではありません。StreamWriterクラスはTextWriterから派生したクラスで、ストリームに書き込むためのメンバの実装を提供します。以下の例では、WriteLineAsync(String)メソッドを使用して、文字列値からなる2行をテキストファイルに書き込む方法を示します¹。

¹ – `TextWriter クラス <https://docs.microsoft.com/en-us/dotnet/api/system.io.textwriter?view=netcore-3.1>`_ (“https://docs.microsoft.com/en-us/dotnet/api/system.io.textwriter?view=netcore-3.1“)

images/openrpa_write_line.png

システム.アクティビティ.ライン.書く