Google表格电子邮件脚本

时间:2016-03-16 12:55:09

标签: javascript google-sheets

脚本问题。

我们有一个将数据插入响应表的表单。在响应表中,我们有一个脚本,通过电子邮件发送给一组人。

脚本 -

     */
     
    function Initialize() {
     
      try {
     
        var triggers = ScriptApp.getProjectTriggers();
     
        for (var i in triggers)
          ScriptApp.deleteTrigger(triggers[i]);
     
        ScriptApp.newTrigger("EmailGoogleFormData")
          .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
          .onFormSubmit().create();
     
      } catch (error) {
        throw new Error("Please add this code in the Google Spreadsheet");
      }
    }
     
    function EmailGoogleFormData(e) {
     
      if (!e) {
        throw new Error("Please go the Run menu and choose Initialize");
      }
     
      try {
     
        if (MailApp.getRemainingDailyQuota() > 0) {
     
          // You may replace this with another email address
          var email = "THIS IS WHERE THE EMAIL ADDRESS GOES...REMOVED FOR PRIVACY";
     
          // Enter your subject for Google Form email notifications
          var subject = "Copier Service Request";
     
          var key, entry,
            message = "",
            ss = SpreadsheetApp.getActiveSheet(),
            cols = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0];
     
          // Iterate through the Form Fields
          for (var keys in cols) {
     
            key = cols[keys];
            entry = e.namedValues[key] ? e.namedValues[key].toString() : "";
     
            // Only include form fields that are not blank
            if ((entry !== "") && (entry.replace(/,/g, "") !== ""))
              message += key + ' :: ' + entry + "\n\n";
          }
     
          MailApp.sendEmail(email, subject, message);
        }
      } catch (error) {
        Logger.log(error.toString());
      }
    }
     

然而,我还需要的是,当提交表单时,以某种形式或形式,它将向指定用户发送电子邮件。这可以在表单本身中指定,也可以通过弹出窗口指定。不要紧。但是,我在填写表单时指定的向用户发送电子邮件的技能缺乏。这仅仅是我的知识。

我认为最简单的方法是保留代码,但在电子邮件地址变量中,添加另一个通过表单中的某个选择填充的变量。比如,如果我在“电子邮件”部分下输入randomemail@gmail.com,它会找到该地址,并将其自身插入电子邮件地址部分的变量中。

1 个答案:

答案 0 :(得分:0)

这很容易实现,因为在您将表单添加到表单后,表单提交触发器已经有了很多基础结构。

email = email + "," + e.namedValues["Email"];