我有一个附加到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编辑触发器不会触发。我将触发器更改为测试脚本:
function log(){
console.log("Hello worlds");
}
并且它也不会发射。任何有关获取onEdit可安装触发器的帮助都将非常感激。我希望触发器触发的编辑是手动编辑(此时我只是输入随机值),它们是由拥有工作表并创建脚本的帐户制作的。
答案 0 :(得分:2)
嗯,事实证明这是谷歌方面的一个小故障。我所要做的就是删除触发器,保存,然后重新添加触发器而不做任何更改,一切正常。去图。