来自非Google表单的可安装触发器onFormSubmit?

时间:2014-09-11 02:44:57

标签: javascript jquery triggers google-sheets

感谢大家提前帮助。

作为脚本和可安装触发器的一般新手,我已经搜遍了如何做到这一点的技术并且找不到我需要的东西。我会尽力打破我正在寻找的东西。

1。)我使用的是不通过Google的表单服务,我需要通过此服务提交表单时触发此电子邮件脚本。

  • 目前我使用的是一个每5分钟运行一次的简单触发器,这非常烦人,因为它会降低整个项目的速度,显然效率不高。

2。)我不知道'触发'函数需要放在脚本中,所以我将发布我正在使用的简单脚本,希望你们可以指导我到它需要放置的地方(如果它甚至重要吗?)。

最后,我已经在这个问题上访问过Google和Formstack的所有链接,并且无法拼凑出我想要的结果。 同样,我是这个触发器部分的新手所以非常感谢走访! : - )

再次感谢!

编辑:脚本

function Email1() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    ss.setActiveSheet(ss.getSheetByName("Sheet3"));
    var startRow = 2;  // First row of data to process
    var numRows = 18;   // Number of rows to process
    // Fetch the range of cells A2:B19
    var dataRange = (ss.getSheetByName('Sheet3')).getRange(startRow, 1, numRows, 19)
    // Fetch values for each row in the Range.
    var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
        var EMAIL_SENT = "EMAIL_SENT";
        var row = data[i];
        var emailAddress = row[0];  // First column
        if(row[0]!="") 
            var message = row[1];       // Second column
        var emailSent = row[2];     // Third column
        var clientEmail = row[13];  // Thirteenth column
        if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
            var subject = "APPOINTMENT SCHEDULED";
            MailApp.sendEmail(emailAddress, subject, message, {noReply:true, cc:clientEmail, bcc:   
                'xxxxx.myemail.com'});
            (ss.getSheetByName('Sheet3')).getRange(startRow + i, 3).setValue(EMAIL_SENT);
            // Make sure the cell is updated right away in case the script is interrupted
            SpreadsheetApp.flush();
        }
    }
}

0 个答案:

没有答案