Как правильно использовать цикл

У меня есть макрос, который приглашает друзей в группы FB, имя друзей берется из CSV-файла, поэтому мне нужен цикл записи, после чего будут приглашены все люди из CSV-файла. Вот мои макросы

var macro,start;
macro =  "CODE:";
macro +=  "SET !ERRORIGNORE YES" + "\n"; 
macro +=  "SET !EXTRACT_TEST_POPUP NO" + "\n"; 
macro +=  "SET !DATASOURCE FB<SP>Groups.csv" + "\n"; 
macro +=  "SET !DATASOURCE_COLUMNS 1000" + "\n"; 
macro +=  "SET !LOOP 1" + "\n"; 
macro +=  "SET !DATASOURCE_LINE {{!LOOP}}" + "\n"; 
macro +=  "URL GOTO=" + "\n"; 
macro +=  "TAG POS=1 TYPE=I ATTR=CLASS:" + "\n"; 

Поэтому я думаю, что отсюда должен начинаться цикл

macro +=  "TAG POS=2 TYPE=SPAN ATTR=TXT:Invite<SP>Friends" + "\n"; 
macro +=  "SET !DATASOURCE FB<SP>Users.csv" + "\n"; 
macro +=  "SET !DATASOURCE_COLUMNS 1000" + "\n"; 
macro +=  "SET !LOOP 1" + "\n"; 
macro +=  "SET !DATASOURCE_LINE {{!LOOP}}" + "\n"; 
macro +=  "TAG POS=1 TYPE=INPUT:TEXT ATTR=CLASS:" + "\n"; 
macro +=  "TAG POS=1 TYPE=SPAN ATTR=CLASS:uiButtonText" + "\n"; 
iimPlay(macro)

person Viktor    schedule 03.10.2015    source источник
comment
Переменная !LOOP не работает в js-скрипте для iMacros (нужна только для кнопки Play (Loop)). Вам нужно использовать цикл for в JavaScript. Немного упростите свой вопрос, чтобы уловить идею ответа, который вы получите.   -  person Shugar    schedule 03.10.2015


Ответы (1)


Поиграйте с этим фрагментом:

var macro = "CODE:";
for (i = 1; i <= 3; i++) {
    macro +=  "SET !DATASOURCE FB<SP>Users.csv" + "\n"; 
    macro +=  "SET !DATASOURCE_LINE " + i + "\n"; 
    macro +=  "PROMPT {{!COL1}}" + "\n"; 
    iimPlay(macro);
}

Надеюсь, вы можете уловить идею.


Вот способ определения количества строк в вашем CSV-файле:

var numRows = 0;
while (true) {
    var macro = "SET !DATASOURCE FB<SP>Users.csv" + "\n"; 
    macro += "SET !DATASOURCE_LINE " + (numRows + 1) + "\n"; 
    if (iimPlayCode(macro) == 1)
        numRows++;  
    else
        break;
}
alert(numRows);
person Shugar    schedule 03.10.2015
comment
но как вместо i ‹= 3 воспроизводится цикл, в то время как в файле несколько строк с именами пользователей - person Viktor; 03.10.2015
comment
Смотрите обновленный ответ. Итак, используйте эту функцию, замените i <= 3 на i <= numRows и потяните вниз iimPlay(macro). - person Shugar; 05.10.2015