首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google-Sheets -根据单元格的值中断循环

Google-Sheets -根据单元格的值中断循环
EN

Stack Overflow用户
提问于 2019-07-09 19:12:01
回答 1查看 102关注 0票数 2

我目前正在运行一个基于计时器的脚本(每周一次),它将一些值从一个范围(源)复制到另一个范围(目标)。

源范围是基于导入的查询结果。因此,在显示正确的结果之前,它会经历多个计算步骤。通常,这应该是一项简单的任务-只需添加一个睡眠计时器来确保并完成它。但是,该脚本会基于未完成的计算复制数据。

下面是我处理这个问题的方法:

我设置了一个检查数据是否被正确复制的单元(触发器单元)

现在,我可以在星期天每隔一个小时左右运行一个计时器,检查触发器是真是假。但我想知道是否有一种方法可以用循环来做到这一点。

我对javascript还是个新手,所以我对从web上实现可能的解决方案不是很有信心。似乎只能根据循环中的值来中断循环。例如,一个do/while (while 'trigger‘== false)循环只会循环5分钟,直到超时。我认为函数调用与函数调用本身应该可以做到这一点,但我不知道如何正确地做到这一点。当我手动更改触发器值以强制循环时,我的版本似乎只运行一次并达到收支平衡。

代码语言:javascript
复制
    function looper(){

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("example");

    var trigger = sheet.getRange("a1").getValue();
    var source = sheet.getRange("b1:j1").getValues();
    var target = sheet.getRange("b2:j2");  

    Utilities.sleep(5000)
    if (trigger == false){
    target.setValues(source);
    looper;
 }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 19:16:53

在JavaScript中,要调用函数,需要使用括号。因此,对于最后一行,尝试这样做:looper();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56951284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档