Google电子表格功能可以从所有工作表中获取数据,而不只是一个

时间:2013-05-17 17:29:02

标签: google-apps-script google-sheets google-spreadsheet-api

这是我编写的函数,它会在编辑指定的单元格/行/列时发送电子邮件通知某人,并将其设置为触发onEdit。它按原样运作。

/* This function send an email when a specified range is edited
 * The spreadsheets triggers must be set to onEdit for the function
*/

function sendNotification() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet();
  //Get Active cell
      var mycell = ss.getActiveSelection();
      var cellcol = mycell.getColumn();
      var cellrow = mycell.getRow();
  //Define Notification Details
      var recipients = "me@email.com";
      var subject = "Update to "+ss.getName();
      var body = ss.getName() + "has been updated.  Visit " + ss.getUrl() + " to view the changes.";
  //Check to see if column is A or B to trigger
      if (cellcol == 1, 2)
      {
  //check for row to trigger
        if (cellrow == 1)
        {
  //Send the Email
      MailApp.sendEmail(recipients, subject, body);
      }
  //End sendNotification
 }
}

我的问题是,只有在电子表格的某个工作表(页面)上的列或行被编辑时,我才需要这样做,而不是电子表格中任何工作表中的X列。

有什么想法吗?我希望这是我错过的一些简单的事情,但我一直无法找到解决方案。

2 个答案:

答案 0 :(得分:1)

您可以在分配sheet变量后中断该功能:

if (sheet.getSheetName() != 'SheetIWant') return;

答案 1 :(得分:0)

您需要查看onEdit提供的参数。它会告诉你发生了哪些变化。