我编写了一个简单的 Google Apps 电子表格脚本,该脚本在某些行中获取详细信息并将它们转换为单个列表;一切都很简单。问题是脚本一直在随机点停止,并且循环永远不会结束 - 没有错误消息,脚本编辑器顶部的消息仍然表明它正在运行,当它明显停止时。
我最初认为它可能会以某种方式受到限制,但随机停止点(有时在源工作表行 6x,有时在 7x,有时甚至达到数百个)和缺少错误消息表明并非如此。
谁能帮我弄清楚为什么会这样?是因为我从脚本编辑器窗口运行它吗?是否有任何其他原因(可能是网络问题)导致应用程序脚本可能停止运行,如果是这样,它可以在后台运行或类似情况以防止这种情况发生吗?
谢谢!
function convertTrimsToList(){
var ss = SpreadsheetApp.openById("[REDACTED]");
var sheet = ss.getSheets()[0];
var newss = SpreadsheetApp.create("MMT List");
var newsheet = newss.getSheets()[0];
x = 1;
z = 1;
i = 1;
q = 1;
while (sheet.getRange(x,1).getValue() != "")
{
sheet.getRange(1,6).setValue("Processing row " + x);
y = 5;
while (sheet.getRange(x,y).getValue() != "")
{
sheet.getRange(1,7).setValue("Processing row " + y);
if (x != 1)
{
if (y == 5 && sheet.getRange(x,1).getValue() != sheet.getRange((x-1),1).getValue())
{
i++
}
}
newsheet.getRange(z,1).setValue(i);
newsheet.getRange(z,2).setValue(q);
newsheet.getRange(z,3).setValue(sheet.getRange(x,y).getValue());
z++
y++
}
if (x != 1)
{
if (sheet.getRange(x,3).getValue() != sheet.getRange((x-1),3).getValue())
{
q++
}
}
else
{
q++
}
x++
}
}