Google表格脚本 - 为什么此循环不起作用?

时间:2018-02-01 10:28:02

标签: google-apps-script google-sheets

我正在使用Google Script进行第一次循环,但它无法正常工作。它只有一半的工作,所以我不知道是什么问题。

代码应该在每一行和第1列中循环并输入下一个ID号(一旦它完成,它应该将LastID号增加1,然后将其放在下一行)。

问题是它在每个单元格中输入LastID,然后在最后它将LastID增加1(所以假设LastID为1,它在所有单元格中放置1而不是2,3,4等。)

(注意我遗漏了一些声明工作表变量等的代码。)

function myFunction() {
    var IDCount = 1;
    var LastID = 1;
    var RowCount = 4;

    {
        for (var x = IDCount; x < RowCount; x++)
            Browser.Buttons.YES_NO);

    sheet.getRange((x + 2), 1).setValue(LastID) //set next row with missing ID number

    sheet.getRange(2, 7).setValue(LastID) //set the new ID
    LastID++ //Increase LastID by 1

}
}

希望有人可以提供帮助。谢谢

1 个答案:

答案 0 :(得分:1)

您尚未定义循环体。如果我们不提供大括号,默认情况下假设在主体中只有一条线。所以在你的情况下,这种情况正在发生。它只假设

#include <unistd.h> #include <signal.h> #include <stdio.h> void parent(pid_t pid) { killpg(pid, SIGKILL); } void child(void) { if (-1 == setsid()) return; while(1) { sleep(1); printf("child\n"); } } int main() { pid_t pid; switch ((pid=fork())) { case 0: // child child(); break; default: // parent // wait some time to let setsid() complete sleep(5); parent(pid); } return 0; }

在循环内,因此它为所有行设置相同的值。

试试这段代码:

sheet.getRange((x+2), 1).setValue(LastID) //set next row with missing ID number