【发布时间】:2017-12-14 22:43:30
【问题描述】:
我有一个附加到 Google 表格的容器绑定脚本,我已为其手动添加了 On edit 可安装触发器。我使用的是可安装触发器而不是简单触发器,因为我希望脚本从工作表所有者的帐户(我的帐户)运行,无论用户是谁进行了编辑。脚本如下:
function checkTimecardRange() {
var activeSS = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = activeSS.getActiveSheet();
var cell = sheet.getActiveCell();
var row = cell.getRow();
var approvalTimestamp = activeSheet.getRange("V" + row);
var timecardRange = activeSheet.getRange("A" + row + ":V" + row);
if(timecardRange.isBlank()==false) {
lockTimecardRange(timecardRange, row);
}
}
function lockTimecardRange(timecardRange, row) {
var protection = timecardRange.protect().setDescription('Timecard Row' + row);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
}
当我手动运行它时它工作正常,但我为其设置的 On edit 触发器不会触发。我将触发器更改为测试脚本:
function log(){
console.log("Hello worlds");
}
这也不会触发。对于让 onEdit 可安装触发器触发的任何帮助,我们将不胜感激。我期望触发器触发的编辑是手动编辑(此时我只是输入随机值),它们是由拥有工作表并创建脚本的帐户进行的。
【问题讨论】:
-
欢迎您,@安娜。您使用什么工作表编辑来触发脚本?
-
这是手动编辑 - 我知道 On edit 事件不会由脚本编辑触发。此时我只是在输入随机值。
标签: google-apps-script google-sheets triggers