Studio
2020.10
バナーの背景画像
サポート対象外
Studio ガイド
最終更新日 2023年12月20日

制御フローのアクティビティ

[代入] アクティビティ

[代入] アクティビティは頻繁に使用する重要なアクティビティであり、変数に値を代入することができます。

[代入] アクティビティを使用すると、ループ内で変数の値をインクリメントする (「[繰り返し (後判定)] アクティビティ」の例を参照)、2 つ以上の変数の値の和を計算してその結果を別の変数に代入する (「ジェネリック型変数」の例を参照)、配列に値を代入する (「配列変数」を参照) などが行うことができます。

既定では、このアクティビティは [お気に入り] グループにも含まれています。このアクティビティを削除するには、右クリックして [お気に入りから削除] を選択します。

[待機] アクティビティ

[待機] アクティビティでは、オートメーションの実行を指定した時間間隔 (hh:mm:ss の形式) だけ一時停止することができます。このアクティビティは、特定のアプリケーションが起動されるまで待つ場合や、別のアクティビティで使用できるように何らかの情報が処理されるまで待つ場合など、プロジェクトで適切なタイミングを必要とする場合にとても役に立ちます。

[待機] アクティビティの使用例

[待機] アクティビティの最適な使用例を紹介します。20 秒間の遅延を挟んで 2 つのメッセージを [出力] パネルに書き込むオートメーションを作成してみましょう。

  1. 新しいフローチャートを作成します。
  2. [1 行を書き込み] アクティビティを追加して [Start] ノードに接続します。
  3. アクティビティを選択し、[テキスト] フィールドに「"This is the start time."」と入力します。
  4. [待機] アクティビティを追加し、前に追加したアクティビティに接続します。
  5. このアクティビティを選択し、[プロパティ] パネルの [期間] フィールドに「00:00:20」と入力します。この 20 秒間の遅延を挟んで、 2 つのログメッセージが出力されます。
  6. もう 1 つ [1 行を書き込み] アクティビティを追加し、前に追加したアクティビティに接続します。
  7. [テキスト] フィールドに「Message delayed by 20 seconds.」 (メッセージが 20 秒遅れました。) と入力します。

    最終的なワークフローは、次のスクリーンショットのようになります。



  8. F5 キーを押します。オートメーションが実行されます。[1 行を書き込み] アクティビティで追加した 2 つのメッセージが 20 秒の遅延を挟んで [出力] パネルに書き込まれます。


[繰り返し (後判定)] アクティビティ

[繰り返し (後判定)] アクティビティでは、条件が満たされている間、オートメーションの指定した部分を実行することができます。指定した条件が満たされなくなると、プロジェクトがループから抜け出します。

この種のアクティビティは、配列のすべての要素を順に処理する場合や、特定のアクティビティを複数回実行する場合に使用されます。カウンターをインクリメントして、配列のインデックスを順に参照したり、項目のリストを一通り処理したりすることができます。

注: [繰り返し (後判定)] アクティビティは、ループのボディ部分のロジックが 1 回実行された後に評価 (条件が判定) されます。

[繰り返し (後判定)] アクティビティの使用例

[繰り返し (後判定)] アクティビティの使用例を紹介します。整数変数を 0 から 10 までインクリメントし、インクリメントのたびに数値の増加が分かるためのメッセージを表示するオートメーションを作成してみましょう。

  1. 新しいシーケンスを作成します。
  2. 整数変数 Counter を作成し、既定値を「0」とします。
  3. デザイナー パネルに [繰り返し (後判定)] アクティビティを追加します。
  4. [Body] セクションに [代入] アクティビティを追加します。
  5. この [代入] アクティビティを選択し、[プロパティ] パネルの [左辺値 (To)] フィールドに Counter 変数を追加します。
  6. [右辺値 (Value)] フィールドに、「Counter + 1」と入力します。これで変数の値が 1 増やされます。
  7. [代入] アクティビティの下に [1 行を書き込み] アクティビティを追加します。
  8. [Text] フィールドに、「"The counter is " + Counter.ToString」と入力します。これで、カウンターがインクリメントするたびにカウンターの値が [出力] パネルに書き込まれます。
  9. [繰り返し (後判定)] アクティビティの [条件] セクションで、「Counter < 10」と入力します。Counter 変数の値が 10 を超えるまで、[繰り返し (後判定)] アクティビティの本体が繰り返し処理されます。

    プロジェクトは次のスクリーンショットのようになります。



  10. F5 キーを押します。オートメーションが実行されます。[1 行を書き込み] アクティビティで指定したメッセージが [出力] パネルに表示されます。


[条件分岐 (if)] アクティビティ

[条件分岐 (if)] アクティビティには 1 つのステートメントと 2 つの条件が含まれています。1 つ目の条件 ([Then] セクション内のアクティビティ) はステートメントが True の場合に実行され、2 つ目の条件 ([Else] セクション内のアクティビティ) はステートメントが False の場合に実行されます。

[条件分岐 (if)] アクティビティは、変数の値に基づいて決定を下す場合に役立ちます。

注: [条件分岐 (if)] アクティビティと [フロー条件分岐] アクティビティはほとんど同じです。ただし、後者はフローチャート内でのみ使用できます。

[条件分岐 (if)] アクティビティの使用例

[条件分岐 (if)] アクティビティの使用例を紹介します。ユーザーに 2 つの数字の入力を求め、一方が他方で割り切れるかどうかをチェックし、その結果に基づいて異なるメッセージを [出力] パネルに表示するオートメーションを作成してみましょう。

  1. 新しいシーケンスを作成します。
  2. たとえば、2 つの整数変数 FirstNumberSecondNumber を作成します。
  3. デザイナー パネルに 2 つの [入力ダイアログ] アクティビティを追加します。
  4. [プロパティ] パネルで、両方のアクティビティのラベルとタイトルを入力し、[結果] フィールドに FirstNumber 変数と SecondNumber 変数を追加します。
  5. デザイナーパネルで、前に追加した [入力ダイアログ] アクティビティの下に [条件分岐 (if)] アクティビティを追加します。
  6. [Condition] セクションに、「FirstNumber mod SecondNumber = 0」と入力します。この式は、mod 演算子を使用して、1 つ目の数字が 2 つ目の数字で割り切れるかどうかをチェックします。
  7. [Then] セクションに [1 行を書き込み] アクティビティを追加します。
  8. [式エディター] ウィンドウ内に、「FirstNumber.ToString + " is divisible by "+ SecondNumber.ToString + "."」と入力します。1 つ目の数字が 2 つ目の数字で割り切れる場合は、このメッセージが表示されます。
  9. [Else] セクションに別の [1 行を書き込み] アクティビティを追加します。
  10. [式エディター] ウィンドウ内に、「FirstNumber.ToString + " is NOT divisible by "+ SecondNumber.ToString + "."」と入力します。1 つ目の数字が 2 つ目の数字で割り切れない場合は、このメッセージが表示されます。


  11. F5 キーを押して、オートメーションを実行します。
  12. メッセージが表示されたら数字を追加します。[入力ダイアログ] ウィンドウに入力した値に基づいて、[出力] パネルに結果が表示されます。




[条件分岐 (switch)] アクティビティ

[条件分岐 (switch)] アクティビティでは、指定した式の値に基づいて複数の選択肢から 1 つを選択することができます。

既定では、[条件分岐 (switch)] アクティビティでは整数引数が使用されますが、[プロパティ] パネルの [TypeArgument] のリストから変更することができます。

[条件分岐 (switch)] アクティビティは、処理データを指定した複数の条件分岐にカテゴライズさせる場合に役立ちます。例としては、データを複数のスプレッドシートに格納する処理や社員の名前をカナ順で分類する処理等に使用されます。

[条件分岐 (switch)] アクティビティの使用例

[条件分岐 (switch)] アクティビティの使用例を紹介します。ユーザーに数字の入力を求め、数字が奇数か偶数かをチェックし、その結果に基づいて異なるメッセージを [出力] パネルに書き込むオートメーションを作成してみましょう。

すべての奇数は 2 で割った余りが 1 になるため、このプロジェクトで必要なケースの数は 2 つ (0 と 1) のみですが、このアクティビティはさらに多くのケース数をサポートしています。

  1. 新しいシーケンスを作成します。
  2. 整数変数 Number を作成します。
  3. デザイナー パネルに [入力ダイアログ] アクティビティを追加します。
  4. ユーザーに数字の入力を求めるための [タイトル][ラベル] を追加します。
  5. [結果] フィールドに Number 変数を追加します。
  6. [入力ダイアログ] の下に [条件分岐 (switch)] アクティビティを追加します。
  7. [Expression] フィールドに、「Number mod 2」と入力します。これで、ユーザーの数字が 2 で割り切れるかどうかを確認します。
  8. [Default] セクションに [1 行を書き込み] アクティビティを追加します。
  9. [Text] フィールドに、「Number.ToString + " is an even number."」と入力します。
  10. [新しい case の追加] 行をクリックし、[Case 値] フィールドに「1」と入力します。
  11. このケースに [1 行を書き込み] を追加します。
  12. [Text] フィールドに、「Number.ToString + " is an odd number."」と入力します。

    最終的なワークフローは、次のスクリーンショットのようになります。



  13. F5 キーを押します。オートメーションが実行されます。[出力] パネルにデータが正しく表示されます。




[繰り返し (前判定)] アクティビティ

[繰り返し (前判定)] アクティビティでは、特定の条件が満たされている間、特定の処理を繰り返し実行することができます。このアクティビティと [繰り返し (後判定)] アクティビティの主な違いは、前者はループの本体が実行される前に条件が評価 (判定) されるということです。

この種のアクティビティは、配列のすべての要素を順に処理する場合や、特定のアクティビティを複数回実行する場合に使用されます。カウンターをインクリメントして、配列のインデックスを順に参照したり、項目のリストを一通り処理したりすることができます。

[繰り返し (前判定)] アクティビティの使用例

[繰り返し (前判定)] アクティビティの使用例を紹介します。整数変数を 10 から 100 までインクリメントし、すべての数字を Microsoft Word 文書に書き込むオートメーションを作成してみましょう。

  1. 新しいシーケンスを作成します。
  2. 整数変数 Counter を作成し、[既定値] を 10 とします。
  3. デザイナー パネルに [繰り返し (前判定)] アクティビティを追加します。
  4. [条件] フィールドに、「Counter < 100」と入力します。これで、Counter 変数の値が 100 を超える直前までループの本体が繰り返し実行されます。
  5. [繰り返し (前判定)] アクティビティの [本体] セクションに、[代入] アクティビティを追加します。
  6. [プロパティ] パネルの [左辺値 (To)] フィールドに、Counter を追加します。
  7. [右辺値 (Value)] フィールドに、「Counter + 1」と入力します。これで、Counter の値が 1 増やされます。
  8. [代入] アクティビティの下に [テキストを追加] アクティビティを追加します。
    注: このアクティビティは Word アクティビティ パッケージの一部です。まだインストールしていない場合は、パッケージ マネージャーの機能を使用してインストールしてください。
  9. [ファイル パス] フィールドに、Word 文書へのパスを引用符で囲んで入力します。
    注: オートメーションの実行時に Word 文書が使用されていないことを確認してください。使用されている場合、エラー メッセージが表示され、実行が停止してしまいます。
  10. [Text] フィールドに、「The counter is now " + Counter.ToString +".」と入力します。

    最終的なワークフローは、次のスクリーンショットのようになります。



  11. F5 キーを押して、オートメーションを実行します。
  12. 手順 9 で指定した Word 文書をダブルクリックします。11 から 100 までのすべての数字が予想どおりに書き込まれています。


[繰り返し (コレクションの各要素)] アクティビティ

[繰り返し (コレクションの各要素)] アクティビティでは、配列、リスト、データ テーブルその他のコレクションを順に処理することができ、データやプロセスを個々の情報ごとに繰り返し処理できます。

[繰り返し (コレクションの各要素)] アクティビティの使用例

[繰り返し (コレクションの各要素)] アクティビティの使用例を紹介します。整数配列の各要素を順に処理し、配列の長さと各要素を[出力] パネルに書き込むオートメーションを作成してみましょう。

  1. 新しいシーケンスを作成します。
  2. 整数配列変数 FibonacciNumbers を作成します。
  3. [既定値] フィールドに、フィボナッチ数列を好きな値まで入力します (たとえば、「{1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89} など」)。
  4. デザイナー パネルに [繰り返し (コレクションの各要素)] アクティビティを追加します。
  5. [繰り返し] フィールドには変更を加えないでください。
  6. [次のコレクション内の各要素] フィールドに、FibonacciNumbers 変数を追加します。このアクティビティは、指定した変数にある個々の項目を調べます。
  7. [繰り返し (コレクションの各要素)] アクティビティの [本体] セクションに、[1 行を書き込み] アクティビティを追加します。
  8. [テキスト] フィールドに、「"The length of this Fibonacci sequence is " + FibonacciNumbers.Length.ToString + " and contains the " + item.ToString + " element."」と入力します。この式によって、配列要素の総数と配列の各要素を [出力] パネルに書き込むことができます。

    最終的なワークフローは、次のスクリーンショットのようになります。



  9. F5 キーを押すと、オートメーションが実行されます。配列の要素ごとに正しいメッセージが [出力] パネルに表示されます。
    注: [Length] プロパティを使用して配列要素の総数を調べることができます。


[繰り返しを終了] アクティビティ

[繰り返しを終了] アクティビティでは、選択したポイントでループを停止し、ループの次のアクティビティから処理を続けることができます。

注:

[繰り返しを終了] アクティビティは、[繰り返し (コレクションの各要素)][繰り返し (前判定)]、または [繰り返し (後判定)] アクティビティのいずれかの内部でのみ使用できます。

[繰り返しを終了] アクティビティの使用例

[繰り返しを終了] アクティビティの使用例を紹介します。[繰り返し (コレクションの各要素)] で作成したプロジェクトをベースとしたプロジェクトを作成してみましょう。この新しいプロジェクトでは、ループの 1 回目の繰り返しと少数の配列要素のみを [出力] パネルに書き込みます。

  1. [繰り返し (コレクションの各要素)] アクティビティの [本体] で、[1 行を書き込み] の下に [繰り返しを終了] アクティビティを追加します。
  2. [繰り返し (コレクションの各要素)] の下に新しい [1 行を書き込み] アクティビティを追加します。
  3. [テキスト] フィールドに、「FibonacciNumbers(0).ToString + " " + FibonacciNumbers(2).ToString + " " + FibonacciNumbers(4).ToString + " " + FibonacciNumbers(6).ToString + " " + FibonacciNumbers(8).ToString + " " + FibonacciNumbers(10).ToString + " "」と入力します。これで、指定した配列要素のみが [出力] パネルに書き込まれます。

    最終的なワークフローは、次のスクリーンショットのようになります。



  4. F5 キーを押すと、オートメーションが実行されます。[出力] パネルには、ループの 1 回目の繰り返しと、[1 行を書き込み] アクティビティからの指定した配列要素のみが表示されます。


Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.