コマンドを繰り返し実行します。繰り返しのルールは、回数/配列の指定、リストビューの行数分、セル範囲の指定から選択できます。
プロパティ | 説明 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
コマンド未設定 |
繰り返しコマンドの対象となるサブコマンド(繰り返し内で実行されるコマンドを指します)を設定します。 | |||||||||
指定した回数分だけ繰り返し処理を行う |
指定した回数を指定するか、配列型の変数を指定して繰り返す場合に選択します。 0以下の回数を指定した場合、サブコマンドは実行されません。 配列型の変数は、たとえば[変数の設定]コマンドを使用してデータベースから複数レコードを取得するというケースが挙げられます。 たとえば上記のような「ArrayData」は配列型の変数となります。この場合、[繰り返し配列オブジェクト名]が既定の「Item」であれば、後続のサブコマンド内では「=Item.ProductName」という表現で「ProductName」フィールドの値を取り出すことができます。 | |||||||||
リストビューの行数に基づいて繰り返し処理を行う |
リストビューの行数分だけ繰り返す場合に選択し、対象リストビューを指定します。 | |||||||||
すべての行 |
ここではリストビューに表示されているフィールド1の値を、「テーブル2」テーブルの「フィールド2」フィールドへ繰り返しコマンドとテーブルデータの更新コマンドを使って追加する処理を例に説明します。 サブコマンドで、リストビューの行テンプレート内のセルを参照している場合、1回目のサブコマンド実行時には参照先のリストビュー列の1行目の値が取得され、2回目には2行目の値が取得されます。繰り返しコマンドは次の図のリストビューを繰り返す対象としており、サブコマンド「テーブルデータの更新」で、リストビューの行テンプレートのE3を参照しています。 繰り返し対象のリストビュー:リストビューの行数が3行なので、繰り返す回数は3回です。サブコマンドにおけるセル参照は3行分繰り返して値が取得されます。 サブコマンドの「テーブルデータの更新コマンド」により値(レコード)が追加された「テーブル2」の結果:対象のリストビューのフィールド1の値が3行分追加されます。 サブコマンドの処理によって対象のリストビューの行数が変化するような場合、それにより繰り返す回数も変化することに注意してください。 | |||||||||
選択行 |
リストビューのスタイル設定により、繰り返し処理を行う対象は以下のように変化します。
ここではリストビューに表示されているフィールド1の値を、「テーブル2」テーブルの「フィールド2」フィールドへ繰り返しコマンドとテーブルデータの更新コマンドを使って追加する処理を例に説明します。 サブコマンドで、リストビューの行テンプレート内のセルを参照している場合、1回目のサブコマンド実行時には参照先のリストビュー列の1個目の選択行の値が取得され、2回目には2個目の選択行の値が取得されます。繰り返しコマンドが次の図のリストビューを繰り返す対象としており、サブコマンド「テーブルデータの更新」で、リストビューの行テンプレートのE3を参照しています。 繰り返し対象のリストビュー:リストビューの選択行数は2行なので、セル参照が2行分(1行目と3行目)繰り返し実行されて値が追加されます。 サブコマンドの「テーブルデータの更新コマンド」により値(レコード)が追加された「テーブル2」の結果:対象のリストビューの選択された2行分のフィールド1の値が追加されます。 | |||||||||
セル範囲に基づいて繰り返し処理を行う |
指定したセル範囲で繰り返す場合に選択し、セル範囲を指定します。 <セル範囲の指定方法> いくつかのセル範囲の指定方法があります。
|
ヒント: 「セル範囲に基づいて繰り返し処理を行う」を指定した場合、コマンドパラメータにより参照されるセルやセル範囲は、コマンド実行ごとに、繰り返しコマンドで指定したセルとの位置関係で決定されます。
たとえば、繰り返しコマンドで指定したセルがB2,B4,B6の場合、サブコマンド「セルプロパティの参照」は次のようになります。
繰り返し回数は3回です。
「=$B$1」は絶対参照のため、3回とも「B1」には「bb」が入ります。
「C2」については、1回目は「C2」に「aa」が入ります。
2回目は、「B4」が1回目の「B2」と比較され、「C2」に「+2」されて「C4」に「aa」が入ります。
3回目は「B2」と「B6」が比較され、「C2」に「+4」されて「C6」に「aa」が入ります。
上記を実行する際、「C2」、「B2」の各セルのセル型を、テキスト型など任意のセル型に指定しておいてください。
注意: コマンドパラメータがリストビューの行テンプレート内のセルを参照している場合、絶対参照を使用してください。絶対参照を使用しないと、何度かコマンドを繰り返した後、リストビュー内の選択した値を取得できなくなります。