在下面的代码中,为什么只为 google 工作表的所有者工作,但当其他用户单击第 6 列中的单元格时,他们什么都不做,他们已接受许可并拥有正确的访问权限
function onSelectionChange(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
var col = range.getColumn();
var row = range.getRow();
if (col == 6) {
var name = sheet.getRange(row, 1).getValue();
var phone = sheet.getRange(row, 6).getValue();
var timestamp = new Date();
var user = Session.getActiveUser().getEmail();
var logSheet;
if (user == "[email protected]") {
logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("b");
} else if (user == "[email protected]") {
logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("a");
} else {
return;
}
var data = [name, phone, timestamp];
logSheet.appendRow(data);
}
}
似乎无法收到其他用户的电子邮件,即使他们同意了权限。 什么是解决这个问题?
我检查了触发器是否设置正确并且用户 2 具有对电子表格的编辑权限。
我在 onSelectionChange() 函数中添加了日志语句来诊断问题,但日志显示当 Ben 进行选择更改时该函数没有被触发。
我确认脚本在我(谷歌工作表的所有者)进行选择更改时有效,但在用户 2 进行选择更改时无效。
我尝试修改函数以使用 onEdit() 触发器而不是 onSelectionChange() 触发器,并使用 user2 帐户对其进行测试。但是,当 Ben 编辑第 6 列中的单元格时,该功能仍然不起作用。