在基于特定单元格的编辑触发器上

时间:2019-10-02 15:50:37

标签: google-apps-script google-sheets

我希望我的代码仅在单元格(L2)中的值为“ ADD”时才触发 但是代码似乎不起作用!你介意让我知道我错过了什么吗?

function onEdit(e) { 
var sheet = SpreadsheetApp.getActiveSheet(); 
var r = sheet.getRange("L2").getValue(); 
    if (r == "Add") { 
        SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet(); 
        var myValue=SpreadsheetApp.getActiveSheet().getRange("M1").getDisplayValue(); 
        SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet("Daily Report " + myValue); 
    }
}

1 个答案:

答案 0 :(得分:0)

请注意,只要用户在任何页面上进行编辑,就会触发onEdit()触发器。在代码中,您有责任缩小触发器效果的范围。

function onEdit(e) { 
  var sh=e.range.getSheet(); 
  var r=sh.getRange("L2").getValue(); 
  if (r.toLowerCase()=="add" && sh.getName()=="TheNameOfTheSheetYouWantThisToWorkIn") { 
    e.source.duplicateActiveSheet(); 
    var myValue=sh.getRange("M1").getDisplayValue(); 
    e.source.renameActiveSheet("Daily Report " + myValue); 
  }
} 

Read about simple triggers Learn more about onEdit event object