我有一个脚本,该脚本基于对Google表格中表格的名称进行硬编码。它可以工作,但这意味着如果工作表的名称发生更改,则需要更新脚本。使用ID表示该工作表不必受到保护,我希望用户能够重命名该工作表。
是否可以将以下脚本更改为使用工作表的 ID 而不是 Name ?
此脚本假定gid = 0,并为已更改的行更新F列右侧各列中的审核时间戳。
function onEdit(event) {
var name = event.range.getSheet().getName();
switch (name) {
case "AA":
update(event)
break;
}
}
function update(event) {
var ColF = 6; // Column Number of "F"
var changedRange = SpreadsheetApp.getActiveRange();
if (changedRange.getColumn() == ColF) {
if (changedRange.getRowIndex() >=7 ) {
// An edit has occurred in Column F
var state = changedRange.getValue();
var adjacentDate = SpreadsheetApp.getActive().getSheetByName("AA").getRange(changedRange.getRow(),ColF+4);
var adjacentDate2 = SpreadsheetApp.getActive().getSheetByName("AA").getRange(changedRange.getRow(),ColF+2);
var adjacentLDAP = SpreadsheetApp.getActive().getSheetByName("AA").getRange(changedRange.getRow(),ColF+3);
var adjacentLDAP2 = SpreadsheetApp.getActive().getSheetByName("AA").getRange(changedRange.getRow(),ColF+1);
var timestamp = new Date(); // Get the current time
adjacentDate2.setValue(timestamp);
adjacentLDAP2.setValue(Session.getEffectiveUser().getEmail());
if (adjacentDate.getValue() == "") {
// Write timestamp into adjacent cell
adjacentDate.setValue(timestamp);
adjacentLDAP.setValue(Session.getEffectiveUser().getEmail());
}
}
}
}