1

csv ファイルからデータを取得する imacros スクリプトがあります。しかし、列からランダムにデータを取得するように imacros に指示する必要があります。すなわち:

=ID:tag_editor_input CONTENT={{!COL2}}
=ID:tag_editor_input CONTENT={{!COL2}}
=ID:tag_editor_input CONTENT={{!COL2}}
=ID:tag_editor_input CONTENT={{!COL2}}
=ID:tag_editor_input CONTENT={{!COL2}}

列2には多くの値を保存しますが、各行にはCol2とは異なる値が必要です。出来ますか?


Bestmacros に返信します。

Thx Bestmacros ですが、動作しないため、まだ何か間違ったことをしていると思います。これはスクリプトです:

SET !VAR0 901
ADD !VAR0 {{!LOOP}}
SET !DATASOURCE_DELIMITER ; 
SET !DATASOURCE file.csv
SET !LOOP 1
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:post_three CONTENT=http://www.{{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
TAG POS=1 TYPE=TEXTAREA FORM=NAME:source ATTR=ID:htmlSource CONTENT={{!VAR0}}&#160;<a<SP>href="http://www.{{!COL3}}"<SP>target="_blank">www.{{!COL4}}</a>

ご覧のとおり、5 つのタグで col2 からのランダム値が必要です。他の列には値が 1 つだけ含まれている必要があります。このスクリプト全体を何度も (ループで) 繰り返す必要があり、そのたびに VAR0 を 1 ずつ増やす必要があることを考えると、コードをどこに挿入すればよいでしょうか?

4

1 に答える 1

4

はい、可能です。これは、最初の 10 行 (列 2 から) からランダム データを取得する例です。

SET !VAR0 901
ADD !VAR0 {{!LOOP}}
SET !DATASOURCE_DELIMITER ; 
SET !DATASOURCE file.csv
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}} 
TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:post_three CONTENT=http://www.{{!COL1}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
SET !DATASOURCE_LINE {{!VAR1}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
SET !DATASOURCE_LINE {{!VAR1}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
SET !DATASOURCE_LINE {{!VAR1}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 1); randomNumber;")
SET !DATASOURCE_LINE {{!VAR1}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:edit_post ATTR=ID:tag_editor_input CONTENT={{!COL2}}
SET !DATASOURCE_LINE {{!LOOP}} 
于 2013-09-18T06:25:34.843 に答える