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“)