时间驱动触发器在 Google 电子表格中不起作用
Time-driven trigger not working in Google Spreadsheet
我有一个简单的代码,如下所示:
function setValue() {
var col = "E";
var sh = SpreadsheetApp.getActiveSpreadsheet();
var values = sh.getRange("Sheet2!"+col+"1:"+col).getValues()
var ct = 0;
while ( values[ct][0] != "" ) {
ct++;
}
ct++;
sh.getRange(col+ct).setValue(Math.floor((Math.random() * 10) + 1));
};
这样做是在 E 列上循环以查找第一个空行,并在其中放置一个随机值。这仅用于测试目的,如果我手动触发函数,则可以正常工作。当我设置更改触发器时,该功能甚至会触发,因此每次我点击退格键或在工作表中执行某些操作时,E 列中都会出现一个新的随机数。但是,这不适用于时间驱动的触发器。我已经测试了所有内容,从每分钟设置一个触发器到:
脚本编辑器... --> 资源 --> 所有触发器 -->时间驱动 -->分钟计时器
甚至放置此代码:
ScriptApp.newTrigger("setValue")
.timeBased()
.after(1 * 60 * 1000)
.create();
假设应该在 1 分钟后的给定时间触发函数。这些都不起作用,我也想不通为什么。有没有其他方法可以每分钟触发此函数?由于该函数也会在更改时触发(但这只是一个解决方法),是否有一个脚本可以在工作表上产生更改效果,最终会触发此函数?
此致敬意!!
将函数命名为 setValue() 以外的名称,因为这已经是 API 中的方法名称,这可能会使编译器感到困惑。
您应该能够使用触发器菜单,在我刚刚更改函数名称后,您的代码更新得很好。
顺便说一句,如果你想以编程方式做到这一点,你需要 everyMinutes() 方法。
ScriptApp.newTrigger("myFunction")
.timeBased()
.everyMinutes(1)
.create();
如果您希望此函数在电子表格发生更改时触发,您只需使用
function onEdit(e) {
myfunction();
}
相关文章:
- 我正在创建一个聊天,但每次我发送消息时,它都不会让我再发送另一条消息,就像表格一样;不起作用
- Javascript电子邮件验证不起作用
- Chrome 中表格的 CSV 导出不起作用 - JavaScript/AngularJS
- 时间驱动触发器在 Google 电子表格中不起作用
- 使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用
- Phonegap-输入类型的电子邮件maxlength不起作用
- 谷歌电子表格示例代码不起作用
- 验证在电子邮件模板中不起作用
- Cordova电子邮件作曲家在Android上不起作用
- 网络视图的电子预加载脚本不起作用
- 课程会话在某些 Google 电子表格中不起作用
- 基于宽度计算的表格列显示和隐藏在 Safari IOS 设备中不起作用
- ng-单击在表格内第二次单击时不起作用
- Yii2:Jquery 选择表格单元格的 id 不起作用
- 已检查函数 JavaScript 不起作用.当我单击任何形状时,它不会创建表格结构
- 带有 base64 img 附件的电子邮件编辑器不起作用
- 表格:JavaScript 不起作用
- ng-重复在 SSR 渲染电子邮件中不起作用 - 棱角流星
- GAS电子表格通过标记为“;SENT”;,不起作用
- CSV 导入脚本在 Google 电子表格中不起作用