2016-07-21 13 views
1

{{!COLn}}の部分でスクリプトで使用するCSV入力の列をユーザーに選択させる可能性を探しています。iMacros:ユーザー定義変数!COLn?

PROMPT "Please enter CSV column:" !VAR1 

SET !DATASOURCE C:\User\Desktop\Test\testsource.csv 
SET !DATASOURCE_COLUMNS 100 
SET !DATASOURCE_LINE {{i}} 

URL GOTO=http://www.somewebsite.com 
TAG POS=1 TYPE=BUTTON ATTR=TXT:123:<SP>* 
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=* CONTENT={{!COLn}} 
TAG POS=1 TYPE=TD ATTR=TXT:{{!COLn}} 

N !COLnでは、ユーザー定義変数!VAR1に設定されるべきです。私は今、どのように手がかりを得た!すべてのアドバイスをありがとう。ここで

+0

あなたのCOLを1つのCOLに入れて、データソースループ関数を使ってデータをどの行にから取られる。 しかし、iMacrosフォーラムでは少しの回避策がありますhttp://forum.imacros.net/viewtopic.php?f=11&t=26316 – Tanckom

答えて

1

は、あなたのデータソースの最初の5列で正常に動作しなければならないマクロです:

PROMPT "Please enter CSV column:" !VAR1 

SET !DATASOURCE C:\User\Desktop\Test\testsource.csv 
SET !DATASOURCE_COLUMNS 100 
SET !DATASOURCE_LINE {{i}} 

SET row "'{{!COL1}}', '{{!COL2}}', '{{!COL3}}', '{{!COL4}}', '{{!COL5}}'" 
SET col EVAL("var col = eval('[{{row}}]'); col[{{!VAR1}} - 1];") 

URL GOTO=http://www.somewebsite.com 
TAG POS=1 TYPE=BUTTON ATTR=TXT:123:<SP>* 
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=* CONTENT={{col}} 
TAG POS=1 TYPE=TD ATTR=TXT:{{col}} 

それが行全体を表しなるように手動で分離すべて'{{!COLn}}'が含まれている、すなわち、ラインSET row ...を編集する必要がありますカンマで。ところで、列の数が多い場合や頻繁に変更する場合は、この文字列を生成する追加のマクロを記述することをお勧めします。

1

簡単な答えではなく、PHPウェブサイトを作成することもできます(無料でも可能です)。NXMマトリックス/データセットを追加して、簡単なURLインタフェースwww.mysite.com/index.php?loop = {{あなたが望む値を返すには