如何在google appscript中循环



嗨,我有这个脚本,将检查B列最后一行在主选项卡是空白,如果空白,它将从后端选项卡E2获取值,并将其设置在最后一行列A主选项卡

如果条件不满足,我如何使它每3分钟循环一次,以及我如何使它不仅在后端选择!E2但是来自后端!E2:如果不满足条件,E11每3分钟递增一次。

条件:主选项卡B列最后一行为空。

脚本:

function onFormSubmit(e) {
const liveSheet = e.source.getSheetByName('Main');
const assigned = e.source.getRange('Backend!E2').getDisplayValue();
const response = e.range.getValues();
liveSheet.appendRow([assigned, null, null, null, null, null, ...response[0]]);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var MainSheet = ss.getSheetByName("Main");
var Emplist = ss.getSheetByName("Backend");
var lastRow = MainSheet.getLastRow();
var data = MainSheet.getRange(lastRow, 2, 1, 1).getValue();
if (data == "") {
var setValue = Emplist.getRange(2, 5, 1, 1).getValue();
MainSheet.getRange(lastRow, 1, 1, 1).setValue(setValue);
}
}

表格链接如果你们需要样品的话。它基本上是一个票务系统,它运行在谷歌表单提交

我尝试了for循环,但是我不能让它循环,直到条件满足

试试这个:

function lfunko() {
var ss = SpreadsheetApp.getActive();
var msh = ss.getSheetByName("Main");
var esh = ss.getSheetByName("Backend");
var lastRow = msh.getLastRow();
var data = msh.getRange(lastRow, 2, 1, 1).getValue();
if (data == "") {
msh.getRange(lastRow, 1, 1, 1).setValue(esh.getRange(2, 5, 1, 1).getValue());
}
}
function createTimeBasedTrigger() {
if(ScriptApp.getProjectTriggers().filter(t => t.getHandlerFunction() == "lfunko").length == 0) {
ScriptApp.newTrigger("lfunko").timeBased().everyMinutes(3).create();
}
}

最新更新