通过Google脚本访问受保护范围

时间:2019-02-11 10:22:42

标签: google-apps-script

我正在尝试创建一个函数,将某人放在一个单元格中,此操作的日期在另一个单元格中。所以我做了这个:

function onEdit(e) {
var data = new Date();
if (
e.source.getSheetName() == "sheet" &&
e.range.columnStart == 7 &&
e.range.columnEnd == 7 
//e.range.rowStart >= 2 &&
//e.range.rowEnd <= 5000
) {

var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PRODUKCJA MODELE");
var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);

var range = e.range.getValue();

var cell = e.range.getRow();
if(range)
{
  ss.getRange(cell, 2).setValue(new Date());
}    
else
{
  ss.getRange(cell, 2).setValue("");
}
}

}

工作正常。但是问题是有几个用户无法使用日期修改单元格,因此我将其设置为普通用户的保护和阻止对象。还有我的问题,当我这样做时,脚本不再起作用。有人可以指出我的至少方向吗?我试图临时解锁脚本中的范围,但这没有任何意义,因为普通用户无论如何都不能这样做。

先谢谢您。

1 个答案:

答案 0 :(得分:0)

问题已解决。可安装的触发器完成了工作。我要做的只是设置事件触发条件,并将其设置为“编辑时”。