【问题标题】:How to get the google forms responds into mail如何让谷歌表单回复邮件
【发布时间】:2015-03-13 10:28:11
【问题描述】:

我对谷歌脚本非常陌生,刚刚看到了曙光(我认为)。

我在 Internet 上找到了一些代码(非常感谢),每当输入表单时我都会使用它来触发电子邮件。

我使用谷歌表格来收集我的工作数据,当我进行服务访问时,我制作了一个表格来写入各种数据。有时访问会被计费,有时不会。现在谈谈我的问题。

使用代码,当我在发票上输入“是或否”时,我有谷歌表很好地触发电子邮件。谷歌表尝尝“是”或“否”,当我选择“是”时,它将触发邮件并发送给我们的经济女士发一封电子邮件,告知客户必须付费。到目前为止很棒

但我不知道如何在邮件中获取新输入的数据(行),所以她不需要去查看我的谷歌表格(她说很难浏览所有行和“它永远不会发生”)。

那么我如何将我新输入的表单数据从我的(行)中获取到由“是”触发的邮件中(参见代码,它在丹麦语中的消息很抱歉)。

如果我能确定我想将哪些单元格/信息带到我的邮件中,那就太好了,但我显然还不够聪明 ;-)

function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();//Get the spreadsheet
var sheet = ss.getActiveSheet()//Get the active sheet
var cell = ss.getActiveCell().activate();//Get the active cell. 
var triggerCell = cell.getA1Notation();//Get the cells A1 notation.
var triggerCellContent = cell.getValue();//Get the value of that cell. 
var siteUrl = "https://docs.google.com/spreadsheets/d/1WKH72ydFh1DcI3IK7P4Ie3rV_wsiX8Xydf9UXMN4BGw/edit?usp=sharing";
var massage = "Dette er en auto genereret mail og der bliver derfor ikke fulgt op på denne besked.</br></br> En kunde skal faktureres, følg linket det er række / celle nr. " + triggerCell + ".";  

  if (triggerCellContent.match("Ja")){
MailApp.sendEmail("fakemail@gmail.com", "Der er en kunde som SKAL faktureres", "Det drejer sig om denne række: " + triggerCell + " Faktureres: " + triggerCellContent + "." + " Link til indhold: " + siteUrl + "." + " Besked: " + massage + ".");
  }

else if (triggerCellContent.match("Nej")){
MailApp.sendEmail("fakemail@gmail.dk; fakemail2@outlook.dk", "Der har været service besøg hos denne kunde", "Denne række er ny: " + triggerCell + " Faktureres: " + triggerCellContent + "." + " Link til indhold: " + siteUrl + ".");
  }

}

这里有表格和表格的链接:

公式:https://docs.google.com/forms/d/1QPziNq9Y7mAF9lAzAWjtaw0Y2CtvokwQR29Vhnbo1ak/viewform

谷歌电子表格: https://docs.google.com/spreadsheets/d/1WKH72ydFh1DcI3IK7P4Ie3rV_wsiX8Xydf9UXMN4BGw/edit?usp=sharing

我真的希望有聪明人能帮助我。并提前感谢

汤姆·M·彼得森 丹麦

【问题讨论】:

    标签: javascript forms email google-sheets sendmail


    【解决方案1】:
    var ss = SpreadsheetApp.getActiveSpreadsheet(); //Get the spreadsheet
    var sheet = ss.getActiveSheet() //Get the active sheet
    

    表单提交后,表单中会出现新的一行数据。所以新数据在最后一行,你可以得到数据 -

    var rowData = sheet.getRange( sheet.getLastRow(), 1 or column number to start to get data, 1(don't change), number of columns to take(use sheet.getLastColumn() to grab all columns) ).getValues()[0];
    

    rowData 是一个对象,您必须遍历它才能获得实际的单元格值。

    var text="";
    for (i in rowData) {
          text = text + rowData[i] + ", " // format as you need
    }
    

    text = '姓名、电子邮件、地址....'等

    然后在'body'中使用'text'来发送邮件。

    【讨论】:

    • 嘿 Raihan Firoz 非常感谢您的快速回答。我正在努力让它发挥作用,作为一个新手,我认为这有点棘手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多