我试图在Google电子表格上运行脚本。以下是代码段:
var startRow = 2;
var data = dataRange.getValues();
for (i in data) {
sheet.getRange( startRow + i, 4).setValue("EMAIL_SENT");
}
我希望" EMAIL_SENT"从第2行出现。但是,相反,它出现在第20行。当我使用Logger写出startRow时,它显示为2.0而不是2.我猜测2.0因为我住在芬兰而被识别为20,其中逗号而不是点用作小数点。话虽如此,我的语言设置是用日语设置的,其中dot用作小数点。所以,这种解释并不合乎逻辑,但这是我能想到的唯一解释。我用的时候
Math.round( startRow )
这也没有帮助。有人可以建议解决方案吗?谢谢!
答案 0 :(得分:0)
我不知道为什么,但由于某种原因,这种类型的循环不会创建编号索引(i
)。因此,您的脚本内容为startRow + i
,就像说2和i
,而不是2加i
。
你没有看到数字20,你看到数字2的索引为0。
要更改此设置,您可以使用此类型的循环。
for(var i=0;i<data.length;i++){
sheet.getRange( startRow + i, 4).setValue("EMAIL_SENT");
}
或者您只需将Number()
添加到i
sheet.getRange( startRow + Number(i), 4).setValue("EMAIL_SENT");