コンテンツにスキップ

ForEach

ForEach コンポーネントは、オブジェクト内の各項目を最初から最後の順序で処理できる制御フローコンポーネントです。
このコンポーネントを使用して、コレクション、データテーブル行、配列、リスト、およびオブジェクトを反復処理できます。

ポート

ForEach コンポーネントは、標準でコントロール入力、コントロール出力、データ入力、およびデータ出力ポートを持っています。

ポート 説明
Control In 1つ以上のコンポーネントのコントロール出力ポートに接続する必要があります。
Control Out 他のコンポーネントのコントロール入力 ポートに接続する必要があります。ForEach コンポーネントは、次の 2 種類のコントロール出力ポートを公開します。 Control Out Port: コレクション内のすべてのオブジェクトが反復処理されると、このポートに制御が渡されます。このポートは、必要に応じて他のコンポーネントの コントロール入力 ポートに接続されます。 Port to iterate in loop: 実行はこのポートに渡されます。このポートは、リストを収集するコンポーネントのコントロール入力ポートに接続されます。
Collection データの収集元となる別のコンポーネントのデータ出力ポートに接続する必要があります。
Current Object データを収集する別のコンポーネントのデータ入力ポートに接続する必要があります。

プロパティ

ForEach コンポーネントのプロパティを編集するには、右下のペインで必要なプロパティを変更します。次のプロパティを編集できます。

プロパティ 説明
Search それぞれのプロパティを検索します。
Delay After Execution アクションが実行された後の待機時間(秒単位)を指定します。
Delay Before Execution アクションが実行されるまでの待機時間(秒単位)を指定します。
Delay for each Execution (秒) Foreach が終了するまでの実行の各ステップの待機時間を秒単位で指定します。

リストから名前を取得する例をみましょう。
ScreenShot
ForEach コンポーネントを使用するには、次の手順に従います。

  1. 繰り返し用リストを作成するためのコードを入力するためのスクリプトコンポーネントを追加します。
  2. スクリプトコンポーネントを追加するには、次の手順を実行します。

    • ツールボックスで、General を展開します。
    • Scriptコンポーネントをドラッグし、デザインサーフェイスにドロップします。
    • コンポーネント タイトルバーをダブルクリックします。
      スクリプトエディタウィンドウが表示されます。
      ScreenShot
    • スクリプト (VB.NET) でデータを取得するコードを入力します。
      ScreenShot
    • Validate をクリックして、コードを確認します。
    • OK をクリックします。
  3. ForEach コンポーネントを追加して、スクリプトコンポーネント内のリストを順番に取得します。スクリプトコンポーネントを追加するには、次の手順を実行します。

  4. ツールボックスで、General を展開します。
  5. ForEachコンポーネントをドラッグし、デザインサーフェイスにドロップします。
  6. ForEach コンポーネントの出力で表示するメッセージ ボックス コンポーネントを追加します。
  7. メッセージ ボックス コンポーネントを追加するには、次の手順を実行します。
    • ツールボックスで、General を展開します。
    • MessageBoxコンポーネントを展開し、Showコンポーネント をドラッグしてデザインサーフェイスにドロップします。
  8. 接続します:
    • すべてのコンポーネントのコントロールポート。
    • スクリプトコンポーネントのデータ出力ポートから、ForEach コンポーネントの データ入力ポートへ。
    • ループ内で反復処理を行うポート、ForEach コンポーネントのコントロール出力ポートから MessageBox コンポーネントのコントロール出力ポート。
    • ForEach コンポーネントの データ出力ポートと MessageBox コンポーネントの データ入力ポート。
  9. ツールバーで、Run をクリックします。
    リストの最初の値が表示されます。
    ScreenShot
  10. OK をクリックして、リスト内の次の値を表示します。
    ScreenShot