ツールボックスは、OpenRPAで可能なすべてのアクティビティが入っている場所です。ドライバーやドリルなど、普段使う道具がすべて入っている箱を想像してください。道具箱は本来、これらの道具を手に入れるために手を伸ばす場所なのです。
OpenRPAのアクティビティは、何のために使うのかを明確に表すカテゴリーで分けられています。これらのカテゴリについては、次のセクションで適切に説明します。
ツールボックスは、OpenRPAで可能なすべてのアクティビティが入っている場所です。ドライバーやドリルなど、普段使う道具がすべて入っている箱を想像してください。道具箱は本来、これらの道具を手に入れるために手を伸ばす場所なのです。
OpenRPAのアクティビティは、何のために使うのかを明確に表すカテゴリーで分けられています。これらのカテゴリについては、次のセクションで適切に説明します。
デザイナーは、OpenRPA内部でタスクの設計と実装の主要なプロセスを行う場所です。アクティビティをドラッグ&ドロップし、シーケンスを追加またはネストして実装の選択肢を満たすとともに、ワークフローのビジネスプロセスに関連するプロパティや変数を設定する場所です。5つのコンポーネントから構成されています。ツールボックスとスニペットサイドバー、ワークスペース、プロパティボックス、アウトプットバー、コネクションバーです。
ワークスペースは、ワークフローで実行されるタスクに関連するすべてのアクティビティ を整理する場所です。また、変数、引数、インポートの名前空間を設定する場所でもあります。
ユーザーがアクティビティをシーケンスにドラッグすると、リボン内の再生ボタンを押すか、F5
キーを押すことにより、アクティビティはカスケード方式で実行されます(各アクティビティは前のアクティビティの後に実行されます)。TryCatchや Throwアクティビティで処理されないエラーが発生した場合、ワークフローの実行は停止し、エラーメッセージが出力ボックスに表示されます(「出力バー」セクションで説明します)。
各シーケンスアクティビティには独自のスコープがあり、これについては後述の「変数」のセクションで説明します。
また、ユーザーは下図のようにSequenceアクティビティをネストしてワークフローを整理することができます。
ネストだけでなく、ユーザーは「コメントアウト」アクティビティ を使用して、その内部のすべてを無視することができます。下の図では、「コメントアウト」アクティビティ内のすべてのア クティビティは実行されません。
出力バーには3つのセクションがあります。ログ
、出力
、 ワークフローインスタンスの
3つのセクションがあります。
ロギング
Logging
セクションには、ワークフローの
出力と、OpenRPA内部で発生したエラーや例外のインスタンスが表示されます。
出力
出力
セクションには、実行されたワークフローによって生成された出力のみが含まれます。
ワークフローインスタンス
Workflow Instances
」セクションには、現在ログインしているユーザーがリッスンして いるキューファイルのパスに関連するすべてのワークフローインスタンスが含まれま す。このセクションは、最近のワークフロー結果のカタログとして、また、どのワークフローがキュー、アイドル、完了、失敗、実行中(進行中)であるかを確認するために有用です。
接続バーには、「OpenRPAの設定」で設定したOpenFlowWebサービスの接続状態や、NMと
SAPの
両プラグインの状態に関する情報が表示されます。
変数とは、その名の通り、シーケンスの実行中にエイリアスとして割り当てられる変更可能な値である。このエイリアスは、数学的、計算的な表現で使用することができる。例えば、「price」という名前の変数を保存して、シーケンスに沿った製品の価格を割り当てる場合。assignアクティビティと式を使って、その値を代入することができます。
入力ボックスのあるアクティビティを挿入する際、存在しない変数について言及し、それを簡単に作成したい場合、Ctrl+Kを
押すと、多くの種類の変数を選択できるドロップダウンが表示されます。
OpenRPAの変数は静的型付けされており、その型は引数ボックス内の変数型フィールドから選択することができます。
次に、変数の使用例を示します。この例では、計算の結果を変数に保存します。
まず、「割り当て」アクティビティをメインシーケンスにドラッグします。
次に、変数の名前を入力し、Ctrl+Kを
押すと、自動的に変数が作成されます。この場合、選択された名前はresultOfComputation
です。
その後、計算結果(2*6
)[右辺]を変数[左辺]に代入してください。
ユーザーは、アクティビティの右側に警告が表示されていることに気付くかもしれません。これは、式がInt32
型であり、変数resultOfComputation
が文字列
であり、Microsoft Workflow Foundation が強 制型であるためです。とりあえず、下図のようにVariables, Arguments & Imports ボックス内のVariable type
パラメータでInt32
型を選択してください。
シーケンス内に含まれるオブジェクトの到達点を指します。プログラミングとスコープについてある程度知識がある方は、この部分は飛ばしていただいて構いません。 まず、集合について考えてみましょう。この例では、引数はグローバルにスコープされているかのように機能するので、変数を使うことにする。
下のコードブロックでは、シーケンスB は変数 x, – にしかアクセスできませんが、BはA のスコープ内にあるため、シーケンスBはすべての変数 {n, p, x, y} にアクセスできるようになります。簡単に言えば、シーケンスを使って変数のスコープを整理し、アクティビティをグループ化することができます。これは、開発者がプログラミング言語で関数を使用して一枚岩のコードを回避するのと同じです。
Sequence A { variables = n, p Sequence B { variables = x, y }}
引数は、他のシーケンスや外部サービス、ワークフローに渡すことができる単なる変数であり、グローバルなスコープを持つ。この特徴を除けば、変数と全く同じ働きをします。他のシーケンス内に作成されたシーケンスに引数を渡した場合、その引数は外側のシーケンス内でも有効です。変数を渡した場合、そのようなことは起こりません。
変数も引数もデフォルト値を持つことができ、シーケンスの実行中に必ずしも値が代入されない場合は、両方に代入されることに注目することが重要です。また、isRequiredプロパティがチェックされている引数は、’In’値、つまり既に渡されたか、デフォルト値を持つことが必須となります。
OpenRPAの引数は、変数と同様に静的型付けされており、その型は引数ボックス内の変数型フィールドから選択することができます。
出力(In – In/Out – Out)出力とは、実行時に変数や引数を処理する方法のことである。以下に分類される。
で
この場合、引数は外部サービスから受け取り、ワークフロー実行後には返せない入力値のみが与えられる
イン/アウト
この場合、引数には入力値を与えることも、ワークフロー実行後に変更し出力することも可能である
アウト
この場合、引数は外部サービスに対する値を返すので、ワークフロー実行後に変更することはできない
物件紹介
これは、引数を
Propertyに
変えるもので、In/Out引数と同じ機能を持ち、さらにデフォルト値を持つことができる。
Importsタブには、選択したシーケンスで使用・参照されるすべてのモジュールが表示されます。
OpenRPAのベースとなっているMicrosoft Workflow Fundation(MWF)では、変数や引数を2つの異なるカテゴリに分類しています。大半のワークフローでは、この違いを理解する必要はなく、何も影響を与えませんが、非シリアル
化オブジェクトの技術的な制限を知ることで、ワークフローやプロセスが期待通りに動作しない理由を説明できる場合があります。
要するに、非シリアライズ可能なオブジェクトは、その名が示すように、シリアライズすることができないのです。この用語は、この文脈では、「これらのオブジェクトは保存できない/ネットワーク上で送信できない」と簡略化することができる。つまり、ワークフローにシリアライズ不可能な変数/引数が含まれる場合、ワークフローの状態を保存することができません。また、シリアライズ不可能な引数を持つワークフローの起動もサポートされていません。最も一般的なシリアライズ不可能な変数/引数のタイプは次のとおりです。DataTables
とDataSets
ですが、その他の型(すべての名前空間から無限に存在する型)もこのカテゴリに属します。
この簡単な説明のもと、シリアライズ不可能な変数や引数を含むワークフローを扱う際にユーザーが直面する可能性のある制限と、その回避策をいくつか紹介します。
ワークフローの状態の保存
OpenRPAが OpenFlowに接続されている場合、特定のアクティビティ¹に到達するたびに、ワークフローの状態がOpenFlowに自動的に保存されます。これらの状態は、実行中のデザイナーレイアウト(アクティビティ、シーケンス)、変数や引数、およびそれらの現在値など、ワークフローインスタンスに関連する現在の状況を示すために存在します。したがって、ワークフローがDataTableのようなシリアライズ不可能なオブジェクトを含む場合、ステートを保存することはできない。
アイドル状態になるすべてのアクティビティ(Detectors、Delay、Invoke Remote with wait)、およびPersistアクティビティです。
回避策複雑なワークフローをより小さなワークフローに分割し、シリアライズできないオブジェクトの管理を小さなワークフローに任せます。そうすることで、予期せぬ中断が発生しても、すべてのデータを失うことはありません。
リモート OpenRPA / シリアル化できない引数での起動
Openflowの起動 / Node-REDの起動とデータリターン
Invoke Remote OpenRPA
Activityを使用する場合、呼び出されるワークフローがシリアライズ不可能な引数を使用する可能性があることに注意してください。呼び出し先のコンピューター/OpenRPAが呼び出し元のOpenRPAと異なるため、シリアライズ不可能な引数を渡すことができず、呼び出しに失敗します。同様の制限は、ユーザーがNode-REDで
Invoke Openflow
アクティビティを使用してフローを呼び出す場合にも発生し、シリアライズできないオブジェクトは引数として使用することがサポートされません。このルールの例外はDataTable
タイプで、OpenRPAは Node-REDに問い合わせる前にこれらをきちんとJArray オブジェクトに
変換し、データが返されたとき/ノードワークフローが
使われたときにDataTableに
戻そうと試みます。回避策
OpenRPA.OpenFlowDB
ツールボックスのアクティビティを使用して、OpenFlowMongoDBにファイルをアップロード/データを更新/エンティティやコレクションを作成し、デスティネーションコンピュータでOpenFlowMongoDBにクエリを実行してデータにアクセスします。この方法では、データ/データセット/データテーブル
(シリアライズできないオブジェクト) 全体が MongoDB に格納され、呼び出し時に渡されるパラメーターは_id
やその他の識別子になります。回避策2:シリアライズできないオブジェクトをシリアライズ可能なオブジェクトに変換します(例:base64文字列)。
以下に、OpenRPAツールボックス内のアクティビティを紹介します。
クリックエレメント
GetElementで見つかったElementをクリックします。
プロパティパラメータ
Animate Mouse
–Trueに
設定すると、カーソルは実行中にその位置を変えて表示されます。物理的なクリックの時のみ動作します
表示名
– シーケンス内のアクティビティのタイトルです。
ダブル クリック
–Trueに
設定すると、カーソルがウィンドウ内で2回クリックされます。
Element
–Get Elementアクティビティで選択されたアプリケーション。
キーモディファイア
– 設定すると、実行中に対応するキーが押されたように動作します。
Mouse Button
– 左マウスボタンをクリックする場合は1
、中央マウスボタンの場合は “2“、右マウスボタンの場合は3
に設定されます。
Post Wait
–OpenRPAがこのアクティビティの実行を完了した後、終了を待つべき時間。
Virtual Click
– デフォルトでTrueに
設定されています。OpenRPAは、実際にマウスでクリックする代わりに、仮想クリックを試みます。詳細については、付録B–仮想クリックを参照してください。
X Offset
– クリックされるウィンドウの内側の水平方向のオフセットです.単位はピクセルです。また、負の値も可能です。物理的なクリックでのみ動作します。
Y Offset
– クリックされるウィンドウの内側の垂直方向のオフセットです.単位はピクセルです。また、負の値も可能です。物理的なクリックでのみ動作します。
アプリケーションを閉じる
Get Elementアクティビティで選択したアプリケーションを終了します。
プロパティパラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
Force-
Trueに
設定すると、アプリケーションを終了させます。
セレクタ
– 選択されたアプリケーションに属するすべてのデータが含まれます。
Timeout
– アプリケーションを正常に終了できなかった場合、アクティビティが停止するまでの時間間隔。単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。
コメントアウト
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
– クリップボードからの結果を文字列として返します。
ディテクター活動
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
– シーケンス内のアクティビティのタイトルです。
² –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に
設定することで、ハイライトが終了するまでワークフローの実行をブロックすることができます。
プロパティパラメータ
Blocking
–Trueに
設定すると、ハイライトが終了するまでワークフローの実行をブロックします。
DisplayName
– シーケンス内のアクティビティのタイトルです。
Duration`-ハイライトの継続時間。単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトを指定することができます。
Element
–GetElementによってハイライトされる要素.
Result
– [DEPRECATED] 現在使われていないパラメータです。
クリップボードの挿入
パラメータTextの
内容をWindowsのクリップボードバッファにセットします。 しかし、このアクティビティを繰り返し連続して使用することは、バッファの問題で信頼性が低いので、お勧めしません。提案/回避策として、Invoke Code
Activityを使用して、以下の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
– クリップボードに挿入されるテキストです。
OpenFlowの起動
Invoke OpenFlowは、OpenFlow/ Node-REDで設定されたワークフローを
呼び出すことができます。つまり、ワークフローのページ(例:http://localhost.openiap.io/#/Workflows
)で利用可能です。
プロパティ パラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
Wait until Completed
–Trueに
設定すると、OpenRPAは Workflow
呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDのフローで設計されたもの)がOpenRPAロボットに返されます。
しかし、Falseに
設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信は一方通行となります。したがって、これに依存するすべてのロジックを再設計する必要があります。例外メッセージを返さないtry/catch例外ブロックのようなものだと考えてください。³
ワークフロー
– 呼び出されるワークフロー
。
備考
ワークフローは
、OpenRPA/OpenFlowに現在ログインしているユーザーによって呼び出されます。つまり、呼び出すべきワークフローに
アクセスできるユーザーでなければ、ワークフローの
ドロップダウンに表示すらされないということです。
OpenRPAの起動
Invoke OpenRPAは、OpenFlowのリポジトリに保存されているOpenRPA Workflows
(RPA Workflowsページで公開されているもの)を呼び出すことができます(例:http://localhost.openiap.io/#/RPAWorkflows)
。
Map Variables]ボタンをクリックすると、現在設定されている変数や引数をワークフ ローの
呼び出しに渡すことができます。これを行うには、ドロップダウンからワークフローを
選択した後、「変数、引数、イン ポート」ボックスで引数を作成し、アクティビティで「変数マッピング」ボタンをクリッ クします。
プロパティパラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
Wait until Completed
–Trueに
設定すると、OpenRPAは Workflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDのフローで設計されたもの)がOpenRPAロボットに返されます。
しかし、Falseに
設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信が一方通行になるため、これに依存するすべてのロジックを再設計する必要があります。これは、例外メッセージを返さないtry/catch例外ブロックだと考えてください。
ワークフロー
– 呼び出されるワークフロー
。
リモートOpenRPAの起動
OpenFlowのリポジトリに保存されたRPAワークフローをリモートで呼び出し、他のOpenRPAクライアントで実行できるようにします。
Map Variables] ボタンをクリックすると、現在設定されている変数や引数を ワークスフローの呼び出しに渡すことができます。これを行うには、ドロップダウンからワークフローを選択した後、「変数、引数、イン ポート」ボックスで引数を作成し、アクティビティで「変数マッピング」ボタンをクリッ クします。
プロパティ パラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
Target
– ワークフローを実行するためにアクティブにされるターゲットを識別するOpenFlowのハッシュ文字列。
完了 するまで待つ
Trueに
設定すると、OpenRPAはWorkflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDでのフローで設計されたもの)がOpenRPAロボットに返されます。
しかし、Falseに
設定すると、OpenRPAは返されたメッセージにアクセスできなくなり、通信が一方通行になるため、これに依存するすべてのロジックを再設計する必要があります。これは、例外メッセージを返さないtry/catch例外ブロックだと考えてください。
Workflow
– 実行されるワークフローを識別するOpenFlowのハッシュ文字列。
マウスを移動させる
マウスカーソルをGetElementで見つかった要素(要素がない場合はデスクトップ)に相対する位置に移動します。
このActivityには、2つの使用モードがあります。
最初の使用モードはセレクタレスです。このモードでは、アクティビティはスクリーンの絶対値を使用してXと
Yの
オフセット値を見つけます。例として、ユーザーが
1366x768の
ディスプレイを持っている場合、アクティビティはスクリーン内のその解像度に従ってマウスを移動させる。このモードを使用するには、ユーザーが
アクティビティのElement
プロパティ内の任意の値(デフォルト値はitem
)を削除するだけで、Xと
Yの
オフセット値を定義することができます。
2つ目の使用モードはセレクタバウンドです。このモードでは、Windowsの要素を選択した後、アクティビティは要素が占める画面の部分の相対値を使用して、Xと
Yの
オフセット値を見つけます。このモードを使用するには、ユーザーはMove Mouseアクティビティを選択された要素にドラッグし、Xと
Yの
オフセット値を定義するだけでよいのです。
アプリケーションは、「要素の取得」アクティビティを使用して選択する必要があります。
プロパティパラメータ
Animate Mouse
–Trueに
設定すると、カーソルは実行中にその位置を変えて表示されます。プレゼンテーションで何が起こっているかを示すのに適しています。
Displayname
– シーケンス内のアクティビティのタイトルです。
要素
–要素の取得アクティビティで選択されたアプリケーション。
ポストウェイト
–OpenRPAがこのアクティビティの実行を完了した後、終了するまで待つ時間です。
X Offset
– カーソルの移動先となるウィンドウ内の水平オフセット.単位はピクセルです。また、負の値を指定することもできます。
Y Offset
– カーソルが移動するウィンドウ内の垂直方向のオフセットです.単位はピクセルです。また、負の値を指定することもできます。
備考
このアクティビティは、マウスIOを必要とします。もし見つからなかった場合は、エラーを返します。 マウス 入力を 送信 できませんでした。エラーコード。 5.
OpenRPAClientがWindowsのリモートデスクトップ内から起動され、セッションが切断された場合に発生することがあります。これを避けるには、HDRobots拡張を使用し、RDPセッションを切断/終了しないか、他の方法(VNCサーバーの実行など)でセッションを永続化する必要があります。
オープンアプリケーション
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
– 設定された場合、アプリケーションはこの垂直オフセットに移動します。単位はピクセルです。また、負の値も可能です。
バルーンチップを表示する
バルーンチップの表示] は、システムトレイ付近の [通知の表示] アクティビティと同様のメッセージを表示します。タイトルが表示され、エラーや警告など他の種類の通知も可能な点で、[通知を表示]とのみ異なります。
プロパティパラメータ
期間
– メッセージが表示される期間です。
Message
– 表示されるメッセージ。引用符で囲む必要があります。
タイトル
– バルーンチップのタイトルです。
Displayname
– シーケンス内のアクティビティのタイトルです。
NotificationType
– 異なる通知タイプ。情報、エラーまたは警告。
備考
UI 要素を変更するアクティビティ(Show Balloon Tip、WriteLine、Show Notification など)を多用しないようにします。これらのアクティビティはシングルスレッドで実行されるため、実行されるたびにワークフローの実行が一時的に停止する。
タイプ テキスト
ユーザーはこのアクティビティを使用することを強くお勧めします。GetElementアクティビティで要素を選択し、Assignプロパティを使って文字列値を割り当てるのが望ましいでしょう。
Type Textは、Hintに含まれるテキストから、現在フォーカスされているウィンドウにキーストロー クを送信します。すべてのキーストロークを記憶するのではなく、すべてのキーストロークを自動的にマッピングするRecorderの使用を推奨します¹。
キーストロークの構文は、「{{Modifier1, Key1}」とします。{修飾子2, キー2}」。{…}{修飾子N、KeyN}}」とします。補助キーとなる修飾子(Ctrl
、Alt
、Shiftなど
)は必須ではありませんのでご注意ください。
また、ユーザーは変数や ハードコードされたテキストを送信することもできます。例えば、”{{Modifier1, Key1}}” を送信します。SOME TEXT ” + desired_variable + “{Enter}”のように送信します。
プロパティパラメータ
クリックディレイ
– 各キーストローク間のディレイ。
Displayname
– シーケンス内のアクティビティのタイトルです。
Text
–ワークフローデザイナー
内の表示名。
備考
このアクティビティは、キーボードIOを必要とします。もし見つからない場合は、”Could not send keyboard input. “を返します。エラーコード。5”.この現象は、Windowsリモートデスクトップセッションの内部からOpenRPAClientを起動し、そのセッションを切断した場合に発生することがあります。これを回避するためには、HDRobotsエクステンションを使用してください。RDPセッションを切断/終了したり、他の手法(VNCの実行など)でセッションを持続させたりしないでください。
¹ – `TypeText Activityの概要 <https://openrpa.openiap.io/pages/typetext-syntax>`_ (“https://openrpa.openiap.io/pages/typetext-syntax“)
Coming soon – Work in progress
OpenRPA.Scriptのツールボックス内にあるアクティビティを紹介します。
呼び出しコード
エディタ内にコードを記述し、ワークフロー・シーケンスの特定のステップで指定されたコードを実行することができます。現在サポートされている言語は、C#、
PowerShell
、Python
、VB
、AutoHotkey
です。コードを書くには、「Open Editor」ボタンをクリックし、ドロップダウンから希望の言語を選択し、「Validate」ボタンをクリックするだけです。ワークフローが実行されると、コードが実行されます。
このアクティビティが
データ バインディングを
サポートしていること、つまり、ユーザーがOpenRPA内部で変数を定義してコード内部でそれを使用したり、逆に変数が事前に定義されている必要があることをユーザーに思い出させることは有用です。また、このアクティビティで書かれたコードを実行するために使用されるPython
環境には、組み込みのPython
バージョン(3.7.3
)がインストールされていることに注意する必要があります。もし、ユーザーがフォルダ内にインストールされた外部環境(ウィンドウの環境変数で設定されたユーザー 変数
>パス
変数で定義されている)を使用したい場合は、設定>プラグイン実行>スクリプトを参照し、Use embedded python
チェックボックスをオフにする必要があります。
プロパティパラメータ
Code
– 実行されるコード。
DisplayName
– シーケンス内のアクティビティのタイトルです。
言語
– コードの実行に使用される言語。現在サポートされている言語は、C#、
PowerShell
、Python
、VB
、AutoHotkey
です。
PipelineOutput
– 現在、使用されていないパラメータです。
ピップインストール
現在選択されているPython
環境に、1つまたは複数のPython
モジュールをインストールします。ここでいうPython
環境とは、OpenRPAがモジュールのインストールに使用するPythonの
バージョンのことです。設定 > プラグイン実行 > スクリプトの中にあるチェックボックスをユーザーがオフにしていない場合、OpenRPAは OpenRPAに組み込まれているデフォルトのPython
環境を使用します。そうでなければ、OpenRPAは、ウィンドウの環境変数内のユーザー 変数で
設定されたパスに
インストールされた環境を使用します。
プロパティパラメータ
activity_display_name
– シーケンス内のアクティビティのタイトルです。
Force
–Trueに
設定すると、指定されたモジュールの再インストールを強制します。
Modules
– インストールされるモジュールを定義するための文字列
配列、例えば{"matplotlib", "sns"}
など。
ここでは、OpenRPA.Utilitiesのツールボックス内にあるアクティビティを紹介します。
AddDataColumn 活動
既存のDataTableに
DataColumnを
追加します。
ユーザーはまず、DataTable
フィールドに列が追加されるDataTable
ファイルのパスを挿入しなければなりません。次に、空白のドロップダウンからタイプを選択し、最後に新しいDataColumnの
名前を挿入してください。
プロパティパラメータ
AllowDBNull
– マークの付いた場合、テーブルに属する行のこのカラムに
NULL値が許可されます。
AutoIncrement
– マークの場合、テーブルに追加された新しい行の列の
値が自動的にインクリメントされます。
ColumnName
– 追加される列の
ヘッダーの名前です。
DataTable
–列が
追加されるデータテーブルの
ファイルパス.
DefaultValue
–カラムの
デフォルト値.AutoIncrement
がチェックされている場合、設定されてはいけません。
DisplayName
– シーケンス内のアクティビティのタイトル。
MaxLength
– テキストカラムの
最大長を設定します。
TargetType
–列の
データの型.
一意
– マークの付いた場合、列の各行の値が一意である必要があることを示す。
AddDataRow 活動
既存のDataTableに
DataRowを
追加します。
ユーザーは、まず フィールドに 挿入 するD
ataTableの
中に
DataTableを
挿入する必要があります。次に、 DataTableの カラムの配列の
中に行のデータを挿入します。行のデータは、DataTable
内の指定された列の数と一致しなければならないことをユーザーに思い出させることは興味深いことです。
プロパティパラメータ
DataTable
–データ行が
追加されるデータテーブルの
ファイルパス.
DisplayName
– シーケンス内のアクティビティのタイトルです。
RowData
– 行データを含むオブジェクト
配列,例えば{"zechriel", 31909790}.
CreateDataTableアクティビティ
このアクティビティでは、カラム名(ヘッダー)を持つ新しいDataTable
オブジェクトを作成し、変数にマッピングしています。
ユーザーはまず、New DataTable 変数
フィールドに変数を挿入し、Ctrl+K
キーを押して変数を作成しなければならない。次に、与えられたDataTableの
カラム名をArray of DataTable columnsの
中に挿入しなければなりません、例えば{"name", "telephone_number"}
.
プロパティパラメータ
ColumnNames
–DataTable
オブジェクトのヘッダ。例えば{"name", "telephone_number"}
のようなString
の配列を含まなければなりません。
DataTable
– 新規に作成されたDataTableが
マッピングされるDataTable
ファイルパス型の変数名です。
DisplayName
– シーケンス内のアクティビティのタイトルです。
DeleteAllRows 活動
このアクティビティは、既存のDataTable
オブジェクトからすべての行を削除します。
DataTable
オブジェクトは、Update from DataTableアクティビティで更新する必要があります。
プロパティパラメータ
DataTable
– 行を削除するためのDataTable
オブジェクト.
DisplayName
– シーケンス内のアクティビティのタイトルです。
DeleteRow 活動
dt.Rows(n)
はdataTable
オブジェクトを表し、nは
指定されたDataRowの
インデックスを表しており、指定されたインデックスの行を削除することが可能です。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティのタイトルです。
Row
–DataTableから
削除されるDataRow
オブジェクト.
ダウンロードファイル活動
指定されたファイル
パスにファイルをダウンロードします。まず、..
.ボタンをクリックしてファイルを保存するフォルダを選択し、ファイル名と
ファイル 形式を
ドットで区切って入力します(例:`insideairbnb.csv“)。次に、ファイルを取得するためのURL
をプロパティボックスに入力する必要があります。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティのタイトルです。
LocalPath
– ダウンロードされるファイルのフルパスとファイル名
です。
Overwrite
– このパラメータは、ファイルがすでに存在する場合、上書きします。
URL
– ファイルを収集するためのURL
です。
認証情報の取得
このアクティビティは、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
型の変数に保存します。
JArrayToDataTable 活動内容
このアクティビティはJSON Arrayの内容をDataTable
オブジェクトにパースし、変数にマップします。JArrayは
必ず1次元でなければならず、さもなければ主配列に属さないコンテンツは無視されます。
このアクティビティは、OpenFlowDB.Queryアクティビティを使用して、コレクションの
すべての内容をDataTable
オブジェクトにマッピングするのに適しています。データを収集したいCollectionを
選択し、QueryString
パラメータの中に{}を
挿入し、Resultを
変数にマッピングします – つまりresults
です。この方法では、すべてのデータを返し、ユーザーはそれを変数jarrayobjに
割り当て、コンテンツnew JArray(results)を
使用し、最後にこの活動を使用してjarrayobjの
内容をデータ
テーブルにマップします。
プロパティパラメータ
DataTable
–JArrayの
結果を保持するDataTable
変数。
DisplayName
– シーケンス内のアクティビティのタイトル。
JArray
– パースされるコンテンツを保持するJArray
変数。
マッチング活動
このアクティビティは、与えられたString
オブジェクトを正規表現パターンにマッチさせ、Stringが
与えられたパターンを含んでいれば、ブール値
、すなわち、True
またはFalseの
結果を変数に保存します。正規表現の詳しい説明は、RyansTutorials Regular Expressions(https://ryanstutorials.net/regular-expressions-tutorial/)
を参照してください。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティのタイトルです。
Input
–RegExパターンにマッチする入力文字列
.
Pattern
– 文字列に対するマッチングに使われるRegExパターン.
Result
–RegExパターンに入力文字列が
一致した場合、または一致しなかった場合に保存されるブール
値、つまりTrue
またはFalseの
変数ファイルパス。
Compiled
– 正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。
CultureInvariant
– マークの場合、言語における文化的差異が無視されることを指定します。
ECMAScript
– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCase
、Multiline
、およびCompiledの
各値と組み合わせてのみ使用することができます。
ExplicitCapture
– マークの場合、有効なキャプチャは、明示的に名前または番号が付けられたグループのみであることを指定します(?<名前>...)
という形式です。これにより、名前のない括弧は、(?:...)の
ような構文上の不便さを伴わずに、非キャプチャグループとして機能することができます。
IgnoreCase
– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。
IgnorePatternWhiteSpace
– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白に影響したり、空白を除去したりすることはありません。
Multiline
– マルチライン・モード。マークされた場合、^と
$の
意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。
RightToLeft
– マークの場合、左から右ではなく、右から左へ検索することを指定します。
Singleline
– マークを付けると、単一行モードが指定されます。ドット(.
)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。
アクティビティにマッチする
このアクティビティは、与えられた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
– シーケンス内のアクティビティのタイトルです。
Input
–RegExパターンにマッチする入力文字列
ファイルパス.
Pattern
– 文字列に対するマッチングに使われるRegExパターン.
Result
– 変数ファイルのパスRegExパターンに入力文字列
がマッチするかどうか、ブール
値、つまり “True“ またはFalse
が保存されます。
Compiled
– このパラメータは、正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。
CultureInvariant
– マークの場合、言語における文化的差異を無視することを指定します。
ECMAScript
– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCase
、Multiline
、およびCompiledの
各値と組み合わせてのみ使用することができます。
ExplicitCapture
– マークの場合、有効なキャプチャは、明示的に名前付けされたグループ、または(?<名前>...)
という形式の番号付けされたグループのみであることが指定されます。これにより、名前のない括弧は、(?:...)の
ような構文上の不便さを伴わずに、非キャプチャグループとして機能することができます。
IgnoreCase
– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。
IgnorePatternWhiteSpace
– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白に影響したり、空白を除去したりすることはありません。
Multiline
– マルチライン・モード。マークされた場合、^と
$の
意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。
RightToLeft
– マークの場合、左から右ではなく、右から左へ検索することを指定します。
Singleline
– マークを付けると、単一行モードが指定されます。ドット(.
)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。
ReadCSV 活動
このアクティビティは、.csv
ファイルの内容をDataTable
変数にパースします。
ユーザーはまず、
…ボタンをクリックして解析されるファイルを選択し、次にプロパティボックス内に内容が保存されるDataTable
変数ファイルのパスを挿入する必要があります。
また、Delimeter
パラメータで特定の区切り文字を定義することもできます(デフォルトは", "
または"; "です)
。また、UseHeaderRows
パラメータをFalseに
設定することで、ヘッダーをDataTable
内に挿入することも可能です。
プロパティパラメータ
DataTable
–.csv
ファイルを解析して生成されたコンテンツが保存されるDataTable
変数ファイルのパスです。
デリミタ
–.csv
ファイルの列を区切るためのデリミタを指定します – デフォルトは","
または";"
です。
DisplayName
– シーケンス内のアクティビティのタイトルです。
Filename
– 解析される.csv
ファイルのフルパスとファイル名
です。
UseHeaderRows
–Falseに
設定すると、OpenRPAは .csv
ファイルのヘッダーの内容もパースしてDataTableに
取り込みます。そうでない場合は、単にヘッダーを無視します。
ReadExcel 活動
このアクティビティは、Microsoft Excelドキュメントの内容をDataSet
変数にパースします。
ユーザーは、最初に...
ボタンをクリックして解析される Microsoft Excel ドキュメントを選択し、次に、コンテンツが保存されるDataSet
変数ファイル パスをプロパティ ボックスに挿入する必要があります。また、UseHeaderRowsを
Falseに
設定することにより、ヘッダーをデータセット
内に挿入することもできます。
プロパティパラメータ
DataSet
– Microsoft Excel ドキュメントを解析して生成されたコンテンツが保存されるDataSet
変数ファイルのパスです。
DisplayName
– シーケンス内のアクティビティのタイトルです。
ファイル名
– 解析されるMicrosoft Excelドキュメントのフルパスとファイル名
です。
UseHeaderRows
–Falseに
設定すると、OpenRPAはMicrosoft Excelドキュメントのヘッダーの内容も解析してDataSetに
取り込みます。そうでなければ、単にヘッダーを無視します。
ReadJSONアクティビティ
.json
ファイル内のJSON 配列の
内容をDataTable
変数にパースします。
現在、1次元のJSON 配列のみを
サポートしています。ユーザーは、まず..
. ボタンをクリックして解析される.json
ファイルを選択し、プロパティ ボックスに内容が保存されるDataTable
変数ファイル パスを挿入する必要があります。
ファイルの最初の文字位置には[
]、最後の文字位置には[]
が必要であることをユーザーに伝えると効果的です。
プロパティパラメータ
DataTable
–.json
ファイルを解析して生成されたコンテンツが保存されるDataTable
変数ファイルのパスです。
DisplayName
– シーケンス内のアクティビティのタイトルです。
Filename
– 解析される.json
ファイルのフルパスとファイル名
です。
ReadPDF 活動
PDF
ファイルのテキスト内容をString
変数にパースし、オプションで、より多くのパースオプションのためにPdfReader(https://github.com/itext/itextsharp/blob/5d8d6301e334aa37a01b5374cdfd4e9bc20f40ca/src/core/iTextSharp/text/pdf/PdfReaderInstance.cs)
をResultとして
返します。
ユーザーはまず、
…ボタンをクリックして解析されるPDF
ファイルを選択し、次にAllText
パラメータ内にPDF
ファイル内のすべてのテキストを持つString
オブジェクトを含む変数を挿入する必要があります。
プロパティパラメータ
AllText
–PDF
ファイルのテキスト内容が保存される文字列
変数ファイルパスです。
Filename
– 解析されるPDF
ファイルのフルパスとファイル名
です。
結果
–PdfReader
変数ファイルのパス、パースから取得したメモリのストリームが保存されます。
リプレース活動
与えられたString
オブジェクトを正規表現パターンにマッチさせ、マッチした各グループの内容をReplacement String
オブジェクトで置き換えます。
正規表現の詳しい説明は、RyansTutorials Regular Expressions(https://ryanstutorials.net/regular-expressions-tutorial/)
を参照してください。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティのタイトルです。
Input
– 入力RegExパターンにマッチし、その内容が置換される文字列
ファイルパスです。
Pattern
– 文字列に対するマッチングに使われるRegExパターン.
Replacement
–入力 文字列
内の各グループをその内容で置き換えるために利用される,置換 文字列
オブジェクト.
結果
– このアクティビティによって置き換えられた内容を持つString
オブジェクトの変数ファイルパスが保存されます。
Compiled
– このパラメータは、正規表現がアセンブリにコンパイルされることを指定します。これにより、実行速度が速くなりますが、起動時間が長くなります。
CultureInvariant
– マークの場合、言語における文化的差異を無視することを指定します。
ECMAScript
– マークの場合、式に対してECMAScriptに準拠した動作を有効にします。 この値は、IgnoreCase
、Multiline
、およびCompiledの
各値と組み合わせてのみ使用することができます。
ExplicitCapture
– これが指定されている場合、有効なキャプチャは、明示的に名前または番号が付けられた(?<名前>...)
形式のグループのみであることが指定されます。これにより、名前のない括弧を非キャプチャグループとして動作させることができ、(?:...)
のような構文上の不便さはありません。
IgnoreCase
– マークの付いた場合、大文字と小文字を区別しないマッチングが指定されます。
IgnorePatternWhiteSpace
– マークの付いた場合、パターンからエスケープされていない空白を取り除き、#でマークされたコメントを有効にします。ただし、この値は、文字クラス、数値定量詞、または個々の正規表現言語要素の開始を示すトークンの空白には影響しませんし、空白を除去しません。
Multiline
– マルチライン・モード。マークされた場合、^と
$の
意味を変更し、文字列全体の先頭と末尾だけでなく、任意の行の先頭と末尾でそれぞれマッチするようにします。
RightToLeft
– マークの場合、左から右ではなく、右から左へ検索することを指定します。
Singleline
– マークを付けると、単一行モードが指定されます。ドット(.
)の意味が変わり、すべての文字にマッチします(自分以外のすべての文字にマッチするのではありません)。
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 キーを押して変数を作成する必要があります。
プロパティ パラメータ
CheckFileExists
–Trueの
場合、ユーザーが存在しないファイル名を指定した場合に警告を表示します。既定値はFalse
です。
CheckPathExists
–Trueの
場合、ユーザーが存在しないパスを指定した場合に警告を表示します。既定値はFalse
です。
DefaultExt
– ファイルダイアログ内のデータ表示に使用されるデフォルトの拡張子を設定します(例:txt
)。
フィルター
–ファイルの 種類の
ドロップダウンに表示されるオプションにフィルターをかけます。例:「txt ファイル (*.txt)|*.txt|すべての ファイル (*.*)|*.*」。
FilterIndex
–Filter
パラメータの開始インデックスです。
InitialDirectory
– ファイルダイアログの開始ディレクトリ.
IsSaveAs
–Trueの
場合、ダイアログを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)
に設定されます。
Multiselect
–True の
場合、ユーザーが複数のファイルを選択できるようになります。ユーザーは、FileNames
パラメータを使用して、選択したファイルの結果をファイル パスに設定することが義務付けられています。デフォルトはFalse
です。
タイトル
– ファイルダイアログウィンドウのタイトルです。
DisplayName
– シーケンス内のアクティビティーのタイトルです。
FileName
– 選択されたファイルのファイルパスを含む文字列
を保持する結果変数。Multiselect
がTrue
に設定され、エンドユーザーが複数のファイルを選択した場合、最後に選択されたファイルの値のみが保持されます。
FileName
–Multiselect
パラメータがTrueに
設定されている場合に,選択されたすべてのファイルのパスを含むString[]
を保持する結果変数.Falseに
設定されている場合、この変数は、インデックス0において
選択された1つのファイルのみを保持します。
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で
新規フォルダーを作成できるようにします。
SetAllRowsState アクティビティ
このアクティビティは、DataTable
内のすべてのDataRowsの
状態を設定します。OpenRPA内部でDataTableが
作成、更新、削除されるたびに、それに加えられたすべての変更のトランザクションログも同様に作成、更新、削除されます。このアクティビティは、このトランザクションログを更新します。
ここでは、3つの可能性があります。Added
、Modified
、Not 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 にパスワードを入力するだけです。
プロパティパラメータ
AutoLogonCount
–AutoLogonCount
は、AutoLogon
を使用してコンピュータにログオンできる回数を指定します。この値は、コンピュータにログオンするたびに減少します。AutoLogonCount
の値をリセットするには、コンピュータを再起動する必要があります。
DisplayName
– シーケンス内のアクティビティのタイトルです。
パスワード
– ここで定義されたSecureString
をログイン時のデフォルトパスワードとして使用します。
UnsecurePassword
– ここで定義されたプレーンテキスト 文字列を
、ログイン用のデフォルトパスワードとして使用します。
Username
– ログイン時のユーザー名を定義する文字列
オブジェクト。
認証情報の設定
このアクティビティは、Windowsのクレデンシャルマネージャからクレデンシャルセットを作成または更新します。
資格情報を取得・保存する方法として最も推奨されるのは、Set CredentialsActivityでOpenFlow MongoDBデータベースを利用する方法です。詳しくは、OpenRPA.OpenFlowDBの項をご参照ください。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティのタイトルです。
名前
– 保存されるクレデンシャルの名前。
Password
– 保存される資格情報のパスワード。
Username
– 保存される資格情報のユーザー名です。
StartProcess 活動
Filename
パスパラメータで指定された実行ファイルを参照するプロセスを開始する。
また、ユーザーはArguments
パラメータ内で実行されるプロセスに引数を渡すことができる。コマンドラインインターフェースからプロセスを開始するときと同様である。このActivityでは、プロセスが開始するディレクトリとして使用するWorkingDirectoryも
渡すことができる。
また、WaitForExitを
設定することで、OpenRPAがプロセスの実行停止を待つかどうかを定義することができます。また、WaitForExit
パラメータにタイムアウトを定義することも可能です。
プロパティパラメータ
Arguments
– プロセスの実行に渡すことができるオプションの引数。
Filename
– そのプロセスを持つ実行ファイルのパス。
WaitForExit
–Trueの
場合、プロセスの実行が終了するのを待ちます。
WaitForExitTimeout
– プロセスの実行が停止するのをOpenRPAが待機する時間間隔。単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトを使用できます。
WorkingDirectory
– プロセスを実行するための開始ディレクトリ。
DisplayName
– シーケンス内のアクティビティーのタイトル。
WriteCSV 活動
このアクティビティは、DataTableの
内容を.csv
ファイルに書き出します。
ユーザーはまず、..
.ボタンをクリックして、DataTableの
書き込み先となるファイルを選択する必要があります。そして、その内容を取得するDataTable
変数をプロパティボックスに挿入してください。
また、Delimeter
パラメータで特定の区切り文字を定義することもできます(デフォルトは", "
または"; "です)
。また、IncludeHeaders
パラメータをTrueに
設定することで、DataTableの
中にヘッダを挿入することができます。
プロパティパラメータ
DataTable
– コンテンツの取得元となるDataTable
変数.
デリミタ
– このパラメータは、.csv
ファイルの列を区切るために使用されるデリミタを指定します – デフォルトは","
または";"
です。
DisplayName
– シーケンス内のアクティビティのタイトルです。
Filename
– 書き込まれる.csv
ファイルのフルパスとファイル名
です。
IncludeHeaders
–True
に設定すると、OpenRPA は DataTable
ヘッダーの内容も.csv
ファイルに書き込みます。
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ドキュメントのフルパスとファイル名
です。
IncludeHeaders
–True
に設定すると、OpenRPA は DataTable
ヘッダーの内容も.csv
ファイルに書き込みます。
テーマ
– Microsoft Excel文書内のセルの色付けに使用するテーマを指定することができます。
ここでは、OpenRPA.Windowsのツールボックス内にあるアクティビティを紹介します。
エレメントを取得
このアクティビティは、[セレクタを開く]ボタンを使って、または録音によって自動的にエレメントを選択します。
また、「ハイライト」ボタンを使って、画面内の選択部分を強調表示することもできます。ハイライト」ボタンをクリックすると、セレクタの条件に一致する最初の要素が赤くハイライトされます。このアクティビティは、セレクタが正しく設定されているかどうかを確認するのに便利です。
プロパティパラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
要素
– 画像の収集元となる要素。
From
– 要素のインスタンスの中から見つかった要素内のみを検索することができます。
MaxResults
– 最大結果の数。
MinResults
– 最小結果の数。この値が0より大きく、このアクティビティが要素を見つけられなかった場合、例外(ElementNotFound
)がスローされます。要素が存在するかどうかを確認したい場合は、この値を0にして、シーケンス内で ‘item.Length() == 0’ となるかどうかをテストしてください。
セレクタ
– 選択されたアプリケーションに属するすべてのデータが含まれます。
Timeout
– 要素の検索に成功しなかった場合、アクティビティが停止するまでの時間間隔。 単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。
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
– リストの項目のデータのタイプ。
アクティビティを割り当てる
このActivityは、変数に値を代入するために使用されます。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティーのタイトル。
To
– 値が割り当てられる変数ファイルのパス。
Value
– 変数に代入される値です。
ClearCollection<> アクティビティ
このアクティビティは、コレクションをクリアする、つまり、コレクションからすべてのアイテムを削除します。
プロパティ パラメータ
Collection
– 一致する要素が存在するかどうかをチェックするコレクションの名前。これは、変数または引数として最初に宣言されている必要があり、引数タイプはSystem.Collections.Generic.List<T>
です。ここで、Tは
、AddToCollection<>アクティビティセクションの画像に見られるように、コレクション内に含まれるオブジェクトのデータ型に
対応しています。
表示名
– シーケンス内のアクティビティのタイトルです。
TypeArgument
– リストの項目のデータの型。
ディレイ活動
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“)
Do Whileアクティビティ
ループ内にドロップされた他のアクティビティを少なくとも1回実行し、ループの条件が Trueに
評価されなくなるまで繰り返し実行するループを作成します。
プロパティ パラメータ
Condition
– これは、ループ条件を表すVB Expressionです。
Displayname
– シーケンス内のアクティビティのタイトルです。
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
。
フローチャート活動
フローチャートは、非連続的なワークフローを追加するために使用される。定義によると、フローチャートアクティビティは、実行されるアクティビティのコレクションを含むアクティビティである。
フローチャートはシーケンスに似ているが、より簡単に扱えるのがデシジョンツリーである。シーケンスの中に複数の「if」文がある場合(特にネストされている場合)、アクティビティやデータの扱いが非常に難しくなることがある。フローチャートは、このような状況を簡単に処理し、ワークフローをよりユーザーフレンドリーでグラフィカルな方法で可視化することができます。
フローチャートにアクティビティを追加するには、フローチャートに「シーケンス」を追加し、その「シーケンス」の中にアクティビティを追加する方法がある。
プロパティ パラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
ValidateUnconnectedNodes
–True の
場合、フローチャートの実行フローに接続されていないノード内のワークフロー ロジックの検証を実行します。
FlowDecision活動
このアクティビティは、変数の値に基づいて、含まれるアクティビティ間の実行を指示する。Ifアクティビティと同様に、ブーリアン条件に基づいて実行を分岐させる。
このアクティビティは、ブール値「True」
または「False
」で表される2つの可能なパスにフローをルーティングする役割を担っています。これは、2つの可能な分岐結果のみを持つIf
文と非常によく似ている。
プロパティパラメータ
条件
– バリデートされるVB式。
表示名
– フローチャート内のアクティビティのタイトル。
FalseLabel
–FlowDecision
ノードの “False “出口に表示されるテキスト。
TrueLabel
–FlowDecision
ノードの “True “出口に表示されるテキスト。
FlowStep活動
Coming soon – work in progress!
FlowSwitch<>アクティビティ
このアクティビティは、2つ以上の代替ブランチを持つマッチ基準に基づく条件ノード(FlowDecisionと同様)である。分岐が2つだけの場合は、FlowDecisionの方が良い選択である。また、Switchと似ているが、シーケンスではなくフローチャート上で動作するように設計されている。
ワークフローに複数のルートを作成する必要がある場合に有効です。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティーのタイトル。
Expression
– アクティビティで検証されるVB式です。
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
– シーケンス内のアクティビティのタイトルです。
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
– 結果を格納する変数または引数ファイルのパス。データ型は、メソッドから期待される結果と一致している必要があります。
RunAsynchronously
–Trueに
設定すると、ロボットはワークフローと並行してこのメソッドを実行します(つまり、他のアクティビティに移る前にメソッドが完了するのを待つことはありません)。
TargetObject
– メソッドが実行されるオブジェクト。TargetTypeと
相互排他的です。
TargetType
– メソッドが実行されるクラスタイプ。TargetObjectと
排他的です。
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を
持つ場合)、状態は全く持続されない。
プロパティ パラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
ピック活動
このアクティビティでは、ユーザーがワークフローの実行を分岐させ、最初にトリガーされた分岐を進めることができます。
各ブランチには、TriggerフィールドとActionフィールドがあります。トリガーは、Detectorのようなイベントドリブンなアクティビティと連動するように設計されています。Detectorがトリガーされると、ActionフィールドにあるActivityが実行されます。
トリガーフィールドに何も入力されていない場合、両方のブランチが実行され、最初のブランチが完了すると、ロボットはピックアクティビティを終了します。実用的には、このアクティビティの使い方は「並列アクティビティ」と非常に似ていますが、次に進む前にすべてのブランチが完了するのを待たないという点が異なります。
プロパティパラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
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
– リストの項目のデータの型。
Rethrow活動
このActivityは、Throw
ブロックと同じコンテキストで、Catch
ブロックの内部で使用する必要があります。違いは、このアクティビティはTry
ブロックで投げた例外と同じ例外をCatch
ブロックで再度投げることです。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティーのタイトル。
シーケンス活動
このアクティビティは、メインシーケンスにシーケンスをネストさせるために使用される。メインシーケンスと同じように、この中にアクティビティをドロップすることができます。展開したり折りたたんだりできるので、コードやワークフローを整理するのに便利です。
プロパティパラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
国家活動
ステートマシンを構成する基本単位で、特定の時間に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
)を参照してください。
プロパティパラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
StateMachine 活動
ステートマシンはイベント駆動型のワークフローであり、「シーケンス
」や「フローチャート
」とは異なるタイプのワークフローを構成する。ワークフローが完了したときに到達する初期状態と最終状態は、少なくとも1つだけ存在することができる。ステートマシンは、特定の時間に1つの状態であることができるだけです。
プロパティパラメータ
表示名
– シーケンス内のアクティビティのタイトルです。
StateとStateMachineに関する包括的な説明は、マイクロソフトの公式サイト(https://docs.microsoft.com/pt-br/dotnet/framework/windows-workflow-foundation/state-machine-workflows
)を参照してください。
スイッチ<>アクティビティ
このアクティビティは、ケース内のキーに対して式を評価し、一致したケースに関連するアクティビティを実行します。
このアクティビティをデザイナーにドラッグすると、ダイアログウィンドウが表示され、ユーザーは式のデータ型を選択することができます。その後、式が評価されるたびに実行される「デフォルト」ブロックと、新しいケースを追加するオプションが表示されます。それぞれのケースには、キー(式に対してテストされる値)と新しいアクティビティをドロップするためのブロックが含まれます。ロボットはすべての値を「式」に対してテストし、そのうちの1つが一致すれば、関連するアクティビティが実行されます。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティーのタイトル。
Expression
– ケース内のキーのテスト対象となる式。
TerminateWorkflow 活動
ワークフローの実行を終了させるアクティビティ。一度終了したワークフローは、再開することができない。
プロパティパラメータ
DisplayName
– シーケンス内のアクティビティーのタイトル。
Exception
– ワークフローが終了するときにスローされる例外。対応するデータ型(System.Exception)で既に宣言された変数または引数でなければなりません。
Reason
– ワークフローが終了した理由を説明する文字列。
投擲活動
このアクティビティは、特定のケースでワークフローの
実行を終了させ、エラーメッセージを表示するメソッドを提供します。プログラミングでは、「例外を投げる」と呼ばれます。Exception
欄に例外を入力し、new
と入力すると、利用可能な例外が表示されます。
プロパティパラメータ
Displayname
– シーケンス内のアクティビティのタイトルです。
Exception
– エラーメッセージに表示される例外です。
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
– メインシーケンス内のアクティビティのタイトルです。
活動中
このActivityは、条件が満たされていない間(つまりFalseの
間)、その中にドロップされた他のActivityを実行するループを作成する。条件が満たされる、つまりTrueに
なると、ループは終了し、次のActivityに移行する。ループを開始する前に、まず条件がTrueに
評価されるかどうかをチェックするDo WhileActivityとは異なる。
プロパティパラメータ
Condition
– これは条件を表すVB Expressionです。
Displayname
– シーケンス内のアクティビティのタイトルです。
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“)