-2

このコードをjavascriptforimacrosで使用する場合

for(var i=0;i<10;i++)

これを最初に置きます(私は10のフォームに記入します)

macro +-= SET !DATASOURCE input.csv

macro +-= SET !DATASOURCE_COLUMNS 7

すべてのループは、私の次の行から読み取られます

{{!COL1}} {{!COL2}} {{!COL3}}..等

または私は置く必要がありますか

{{!LOOP}}どこか?

したがって...フォームに10回入力したい場合、各ループは次のcsv行から読み取られます。

for(var i=0;i<10;i++)

4

2 に答える 2

1

列ではなく、imacros でこのような行のみを切り替えることができます。このコード例を試してください:

    var load;
    load =  "CODE:";
    load +=  "set !extract null" + "\n"; 
    load +=  "SET !DATASOURCE input.csv" + "\n"; 
    load +=  "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load +=  "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load +=  "SET !extract {{!col1}}" + "\n";
    var load2;
    load2 =  "CODE:";
    load2 +=  "set !extract null" + "\n"; 
    load2 +=  "SET !DATASOURCE input.csv" + "\n"; 
    load2 +=  "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load2 +=  "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load2 +=  "SET !extract {{!col2}}" + "\n";
    var load3;
    load3 =  "CODE:";
    load3 +=  "set !extract null" + "\n"; 
    load3 +=  "SET !DATASOURCE input.csv" + "\n"; 
    load3 +=  "SET !DATASOURCE_COLUMNS 7" + "\n"; 
    load3 +=  "SET !DATASOURCE_LINE {{i}}" + "\n"; 
    load3 +=  "SET !extract {{!col3}}" + "\n";
    for(i=1;i<10;i++){
    iimSet("i",i);
    iimPlay(load);
    var content=iimGetLastExtract(0);
    iimSet("i",i);
    iimPlay(load2);
    var content2=iimGetLastExtract(0);
    iimSet("i",i);
    iimPlay(load3);
    var content3=iimGetLastExtract(0);
...
    }
于 2013-02-09T23:09:45.833 に答える
0

CSVファイル全体を変数にロードして、CSVからデータを保存することもできます。次に、 split() メソッドを使用してコンマで分割し、個々の変数に格納できます。このコードは長すぎますが、別のアプローチを使用する場合のアイデアです。

于 2013-02-10T01:58:23.457 に答える