Google sheets 如何使用ID作为图纸而不是名称的引用
我有一个基于GoogleSheets中工作表名称硬编码的脚本。它可以工作,但这意味着如果工作表的名称发生更改,则需要更新脚本。使用Id将意味着该工作表不必受到保护,我希望用户能够重新命名该工作表 能否将下面的脚本更改为使用工作表的ID而不是名称 此脚本假定gid=0,并更新F列右侧列中已更改行的审核时间戳Google sheets 如何使用ID作为图纸而不是名称的引用,google-sheets,Google Sheets,我有一个基于GoogleSheets中工作表名称硬编码的脚本。它可以工作,但这意味着如果工作表的名称发生更改,则需要更新脚本。使用Id将意味着该工作表不必受到保护,我希望用户能够重新命名该工作表 能否将下面的脚本更改为使用工作表的ID而不是名称 此脚本假定gid=0,并更新F列右侧列中已更改行的审核时间戳 function onEdit(event) { var name = event.range.getSheet().getName(); switch (name) {
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());
}
}
}
}
为google sheets添加了一个标记,因为这就是本文的目的,删除了时间戳作为标记,因为它无助于OP解决如何通过Id引用工作表的问题。更改了措辞,以框定特定问题,并支持OP为什么不满意当前解决方案的证据。可能重复