Javascript 脚本仅在特定工作表上运行

Javascript 脚本仅在特定工作表上运行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,您能告诉我,如何将代码更改为只在指定的工作表上运行脚本吗?如果指定工作表第2列中的某些值将发生变化,我想发送电子邮件。目前,如果我更改任何表格中的第二列,它将发送电子邮件 我尝试了下面的代码,但没有成功: var sheet = SpreadsheetApp.getActiveSpreadsheet(); SpreadsheetApp.setActiveSheet(sheet.getSheetByName('sheetname')) 这是我的代码: function sendNotificat

您能告诉我,如何将代码更改为只在指定的工作表上运行脚本吗?如果指定工作表第2列中的某些值将发生变化,我想发送电子邮件。目前,如果我更改任何表格中的第二列,它将发送电子邮件

我尝试了下面的代码,但没有成功:

var sheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(sheet.getSheetByName('sheetname'))
这是我的代码:

function sendNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var mycell = ss.getActiveSelection();
  var cellcol = mycell.getColumn();
  var row = sheet.getActiveRange().getRow();
  var cellvalue = mycell.getValue().toString();
  var recipients = "email@email.com";
  if (cellcol == 2)
  {
   var subject = 'Update to '+sheet.getName();
   var body = sheet.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on row: «' + row + '». New comment: «' + cellvalue + '»';
  MailApp.sendEmail(recipients, subject, body);
  }
}


谢谢。

也许在您的脚本中,您只需调用活动工作表,您不需要检查哪一个是活动工作表,您可以检查(sheet.getName()=='your sheet name')BLA BLA BLA BLA…绑定脚本是项目的一部分,项目中的所有脚本都可以访问它绑定到的电子表格中的所有工作表。如果要在特定工作表上运行函数,请使用
var sheet=SpreadsheetApp.getActive().getSheetByName('SheetName')并将您的操作限制为
工作表