如何解决如何制作可以在受保护范围内设置值的onEdit脚本,以便我可以与其他用户共享电子表格?
当用户修改特定列时,我正在编写一个简单的onEdit脚本来设置A列的时间。如果我共享具有编辑权限的电子表格,则效果很好。但是,我不希望用户在A列上编辑记录的时间。
因此,我保护A列中的时间记录范围。onEdit函数不适用于仅对受保护范围具有查看权限的用户。如果有人可以提供指南,如何为具有查看权限的用户在受保护范围内设置onEdit函数的设置值,那将是非常有用的。我读过一些有关使用Oath2.0的文章,但是我不确定如何实现。
我将以下代码发布以供参考:
function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
var sheet_name = s.getSheetName();
var added_date = new Date()
var added_time = Utilities.formatDate(added_date,SpreadsheetApp.getActive().getSpreadsheetTimeZone(),"hh:mm a")
if (sheet_name == "Monday" || sheet_name == "Tuesday" || sheet_name == "Wednesday" || sheet_name == "Thursday"
|| sheet_name == "Friday" || sheet_name == "Saturday" || sheet_name == "Sunday") {
rng = s.getRange("B7:B100");
var edit_row = e.range.getRow();
var edit_col = e.range.getColumn();
if (edit_col == rng.getColumn() && edit_row >= rng.getRow() && edit_row <= rng.getLastRow()) {
s.getRange(edit_row,edit_col - 1).setValue(added_time);
}
else {
return;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。