Javascript 如何在多个工作表上运行OneEdit

Javascript 如何在多个工作表上运行OneEdit,javascript,google-apps-script,google-sheets,triggers,Javascript,Google Apps Script,Google Sheets,Triggers,我的代码是一个调度器,它让用户注册到特定工作表中的特定插槽。问题是代码只在第一页(“1月20日星期一”)起作用 基本上,我试着设置我正在使用的所有工作表,以便随时可以访问它们。第一个if用于第一张图纸(它可以工作)。第二个if用于第二张图纸(但它不起作用) 在中读取电子表格编辑事件。使用传递给onEdit函数的事件,可以确定编辑发生的位置,并避免使用任何显式方法检索该信息 注意事项:目前,2013年12月推出的新纸张打破了此功能。有足够的信息,您现在应该避免使用新的工作表 这是一个如何做到这一点

我的代码是一个调度器,它让用户注册到特定工作表中的特定插槽。问题是代码只在第一页(“1月20日星期一”)起作用


基本上,我试着设置我正在使用的所有工作表,以便随时可以访问它们。第一个if用于第一张图纸(它可以工作)。第二个if用于第二张图纸(但它不起作用)

在中读取电子表格编辑事件。使用传递给
onEdit
函数的事件,可以确定编辑发生的位置,并避免使用任何显式方法检索该信息

注意事项:目前,2013年12月推出的新纸张打破了此功能。有足够的信息,您现在应该避免使用新的工作表

这是一个如何做到这一点的例子

function onEdit(event) {
  var ss = event.source;  // you don't use this, but if you did, here's how to get it

  var cell = event.range;  // This is the cell that was edited
  // TODO: Add code that returns immediately if the edit occurred somewhere we don't care about

  var sheet = cell.getSheet();

  var request = sheet.getRange("B2:E2").getValues();
  var conditionas = request[0];
  var conditionbs = request[1];
  var conditioncs = request[2];
  var conditionds = request[3];

  if (conditioncs == "1" && conditionds == "None") {
    var response = Browser.msgBox("PLEASE RECHECK SCHEDULE AND TID.", conditionas+" , "+conditionbs+" Are you sure?", Browser.Buttons.YES_NO);
    if (response == "yes") {
      sheet.hideRows(2,1);
      sheet.getRange('E2').setValue("1");
      //insert msgBox here
    } else {
      Browser.msgBox("Input again.");
    }
  }
}

如何使其在多张图纸上运行?在多个工作表上运行OneEdit的格式/原则是什么?您所说的“代码只在第一个工作表上工作”是什么意思?你能详细说明一下第一个“如果”是指第一张纸吗。第二个“如果”用于第二张纸。该代码仅在第一页/第一个“如果”之前有效。第二个“如果”根本不起作用。也就是说,我将在剩下的3张表中再添加3个“如果”(当然,使用我的代码也不行)。相关的TypeError:无法从undefined读取属性“source”。(第2行,文件“Prototype Code”)onEdit(event)-如果不声明参数,则它是未定义的。
function onEdit(event) {
  var ss = event.source;  // you don't use this, but if you did, here's how to get it

  var cell = event.range;  // This is the cell that was edited
  // TODO: Add code that returns immediately if the edit occurred somewhere we don't care about

  var sheet = cell.getSheet();

  var request = sheet.getRange("B2:E2").getValues();
  var conditionas = request[0];
  var conditionbs = request[1];
  var conditioncs = request[2];
  var conditionds = request[3];

  if (conditioncs == "1" && conditionds == "None") {
    var response = Browser.msgBox("PLEASE RECHECK SCHEDULE AND TID.", conditionas+" , "+conditionbs+" Are you sure?", Browser.Buttons.YES_NO);
    if (response == "yes") {
      sheet.hideRows(2,1);
      sheet.getRange('E2').setValue("1");
      //insert msgBox here
    } else {
      Browser.msgBox("Input again.");
    }
  }
}