代码之家  ›  专栏  ›  技术社区  ›  lessan

在插入时运行Google Sheets脚本

  •  0
  • lessan  · 技术社区  · 7 年前

    所以,我有一个谷歌表单,根据提交表单的数据,会生成一个响应,我希望将该响应通过电子邮件发送给填写表单的人 当答案表中插入新行时,有没有办法发送电子邮件?

    1 回复  |  直到 7 年前
        1
  •  7
  •   simoes    7 年前

    我过去实现这一点的方法是编写一个简单的google docs脚本,以侦听电子表格的onChange触发器,并发送一封包含所述表格行内容的电子邮件。具体步骤如下:

    1. 打开谷歌表,进入工具>脚本编辑器。。。

    open script editor in google sheets

    1. 这将使您进入与此文件相关联的脚本,您可以在其中编写一个简单的函数来发送工作表最后几行的内容。类似于以下的操作将起作用:
    function sendEmailOfLastEditedRow() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getSheets()[0];
    
      var lastRow = sheet.getLastRow();
      var numRows = 1;   // Number of rows to process
      var cols = sheet.getLastColumn();
    
    
      // Fetch the range of cells A2:D5
      var dataRange = sheet.getRange(lastRow, 1, numRows, cols)
    
      // Fetch values for each row in the Range.
      var data = dataRange.getValues();
    
      // Fetch your row as an array
      var lastRowData = data[0];
    
      // Format data by separating values into comma separated list for email
      var emailContent = lastRowData.join(",");
    
      // Send an email (change this to your email)
      MailApp.sendEmail('alex@simoes.com', 'Email subject', emailContent);
    
      // Log contents for debugging      
      Logger.log(emailContent);
    }
    
    1. 在脚本编辑器中添加触发器,以便在编辑谷歌工作表时运行此功能:Edit>当前项目的触发器

    add google sheet trigger