在电子表格中使用已安装的触发器来调用 onUpdateBilling()。此脚本的目的是在编辑时,根据“billed”(即“d”)列的内容将整个列突出显示预定的颜色。
页面运行脚本与协作者共享,他们已被授予编辑权限。在这一点上,我的期望是脚本应该以所有者权限运行。我的共享用户无法运行脚本并出现给定错误“您无权执行此操作”。
达到了我有限的知识和 googlefu 的这个解决方法。
感谢任何帮助我的合作者进行操作的帮助。
Script:
function onUpdateBilling(e) {
var statusCol = 16; // replace with the column index of Status column A=1,B=2,etc
var sheetName = "Temple Log"; // replace with actual name of sheet containing Status
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
var sheet = cell.getSheet();
if(cell.getColumnIndex() != statusCol || sheet.getName() != sheetName) return;
var row = cell.getRowIndex();
var status = cell.getValue();
// change colors to meet your needs
var color;
if (status == "D" || status == "d") {
color = "red";}
else if (status >= 1) {
color = "yellow";}
else if (status == "X" || status == "x") {
color = "black";}
else if (status == "") {
color = "white";}
else {
color = "white";
}
sheet.getRange(row + ":" + row ).setBackgroundColor(color);
}