我多次遇到这个问题,并且想知道我是否做错了什么。这是我的代码:
function createPersonalSheet() {
var persons = new Array("KDS", "BH");
var ss = SpreadsheetApp.openById("0AtZdrPVig0OadFZjZlYxOEI3WVBwS1NfN2cwMlpaNWc");
for(j=0;j=1;j++) {
var data = getData(persons[j]);
var sheet = ss.getSheetByName(persons[j])
var end = sheet.getMaxRows()-3;
var range = sheet.getRange(4, 2, end, 14);
range.clearContent();
var range = sheet.getRange(4, 2, data.length, data[0].length);
range.setValues(data);
}
如果我只在人员数组中添加一个值,它就会运行,但是只要我添加一秒,脚本就会停止工作,甚至会崩溃电子表格(我必须刷新)。有任何想法吗?我在for循环结束时尝试了Utilities.sleep(1000)给它一些时间但没有效果。
任何帮助都将深表感谢
答案 0 :(得分:1)
我假设你正在做的数组中只有一个元素:
for(j=0;j=0;j++) {
可行,因为j表示从0开始,当它等于0时,增加j。
添加第二个元素时
for(j=0;j=1;j++) {
现在你有一个问题 - j从0开始,当它等于1时,增加j。这没有任何意义。
另外,即使那是你的意图,for语句的布尔部分(第二部分)必须是 j == ,对于等于运算符而不是 j = < / strong>用于赋值运算符。这个错误会导致应用程序脚本崩溃。
塞尔的想法是正确的。使用for(var j=0;j<persons.length;j++)