Re: 変数をカウントアップしループする方法
jBOLTer
投稿数: 82
takahashiさん、こんにちは。
エクセルコンポーネントはメソッドをセルのGetValueにして、行と列を指定し、値を変数にセットするしか方法がありません。
それで、通常ループをさせる時には、サンプルのようにデータマッパでコールフローを使用するのが、手っ取り早いと思います。
しかし、もし変数でループさせる場合は、例えば以下のようにしてはいかがでしょうか。
上から順にコンポーネントを以下のように並べます。
1.フローデータ
・行カウンタ初期化
・列カウンタ初期化
2.エクセルコンポーネント
・ワークブックオープン
3.エクセルコンポーネント
・ワークブックオープン
・セル(GetValue)、行カウンタ、列カウンタ、値->F.Result_1
・セル(GetValue)、行カウンタ、列カウンタ+1、値->F.Result_2
・セル(GetValue)、行カウンタ、列カウンタ+2、値->F.Result_3
.
.
・セル(GetValue)、行カウンタ、列カウンタ+n、値->F.Result_n
4.データマッパ
・送り元:変数 F.Result, F.Result_1, F.Result_2,.....
・送り先:DataBase
5.フローデータ
・行カウンタ -> 行カウンタ+1
・列カウンタ -> 0
終了条件が満たされなければ、Gotoで3へ
6.エクセルコンポーネント
・ワークブッククローズ
まどろっこしいように感じられるかもしれませんが、それなりにパフォーマンスはでます。
エクセルコンポーネントはメソッドをセルのGetValueにして、行と列を指定し、値を変数にセットするしか方法がありません。
それで、通常ループをさせる時には、サンプルのようにデータマッパでコールフローを使用するのが、手っ取り早いと思います。
しかし、もし変数でループさせる場合は、例えば以下のようにしてはいかがでしょうか。
上から順にコンポーネントを以下のように並べます。
1.フローデータ
・行カウンタ初期化
・列カウンタ初期化
2.エクセルコンポーネント
・ワークブックオープン
3.エクセルコンポーネント
・ワークブックオープン
・セル(GetValue)、行カウンタ、列カウンタ、値->F.Result_1
・セル(GetValue)、行カウンタ、列カウンタ+1、値->F.Result_2
・セル(GetValue)、行カウンタ、列カウンタ+2、値->F.Result_3
.
.
・セル(GetValue)、行カウンタ、列カウンタ+n、値->F.Result_n
4.データマッパ
・送り元:変数 F.Result, F.Result_1, F.Result_2,.....
・送り先:DataBase
5.フローデータ
・行カウンタ -> 行カウンタ+1
・列カウンタ -> 0
終了条件が満たされなければ、Gotoで3へ
6.エクセルコンポーネント
・ワークブッククローズ
まどろっこしいように感じられるかもしれませんが、それなりにパフォーマンスはでます。
投票数:0
平均点:0.00
投稿ツリー
-
変数をカウントアップしループする方法
(takahashi, 2010-1-27 13:57)
- Re: 変数をカウントアップしループする方法 (jBOLTer, 2010-1-27 14:39)
- Re: 変数をカウントアップしループする方法 (takahashi, 2010-1-27 16:37)
- Re: 変数をカウントアップしループする方法 (jBOLTer, 2010-1-27 17:22)
- Re: 変数をカウントアップしループする方法 (takahashi, 2010-1-28 18:10)