Javascript 如何使用谷歌脚本发送包含从谷歌表单收集的信息的电子邮件?
供参考:这里是 这是一个与我的谷歌表单输出关联的表单(答案将输出到tab Form Responses 2)Javascript 如何使用谷歌脚本发送包含从谷歌表单收集的信息的电子邮件?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,供参考:这里是 这是一个与我的谷歌表单输出关联的表单(答案将输出到tab Form Responses 2) 我已经建立了一个能够收集大量数据的谷歌表单。它是由要求SAP为新员工授予权限的经理填写的 他们继续填写表格并进入主要部门(SAP流),这将引导他们进入下一页/部分,让经理检查员工所需的权限 有时,一名员工将与多个部门交互,因此第二页上存在支持/辅助SAP流的选项。这可以根据需要继续进行,直到员工的所有必要角色/权限都收集到Google工作表中 在工作表中,您将看到: A-F列包括基本
我已经建立了一个能够收集大量数据的谷歌表单。它是由要求SAP为新员工授予权限的经理填写的 他们继续填写表格并进入主要部门(SAP流),这将引导他们进入下一页/部分,让经理检查员工所需的权限 有时,一名员工将与多个部门交互,因此第二页上存在支持/辅助SAP流的选项。这可以根据需要继续进行,直到员工的所有必要角色/权限都收集到Google工作表中 在工作表中,您将看到:
- A-F列包括基本信息
- H-T列表示工作职责
- U-AG列是支持SAP流的信息范围
- AH-AT列是支持SAP流的工作职责
- 列AU-BG收集辅助支持SAP流
// Loop over the rows
data.forEach((row,i) => {
// Identify whether notification has been sent
if (row[59] === '') {
如果是,脚本将检查工作表,收集上述所有信息,并发送电子邮件。然后,它将用“通知已发送”填充最后一个单元格,以便下次提交表单并检查脚本时,它将跳过发送多余的电子邮件(并且我们将有一条记录,表明该过程已成功完成)
最新版本包含了以下变量:
function jobResponsibilities(a){
var z = a.range.getRow();
var valuesA = a.range.getSheet().getRange(z,8,1,13).getValues();
var jobResponsibilities = valuesA.join(' ');
console.log(jobResponsibilities);
}
function supportingSAP(b){
var y = b.range.getRow();
var valuesB = b.range.getSheet().getRange(y,21,1,13).getValues();
var supportingSAP = valuesB.join(' ');
}
function secondaryJob(c){
var x = c.range.getRow();
var valuesC = c.range.getSheet().getRange(x,34,1,13).getValues();
var secondaryJob = valuesC.join(' ');
}
function secondarySAP(d){
var w = d.range.getRow();
var valuesD = d.range.getSheet().getRange(w,47,1,13).getValues();
var secondarySAP = valuesD.join(' ');
}
收集四种不同类型的信息。我使用了一个变量,以便找出表中包含这些信息的确切部分,并将它们连接在一起,以便以简单的表格格式将变量拉入电子邮件中
由于某些原因,在提交表单时,通知IF似乎没有运行,并且电子邮件从未发送。
这是我订购东西的方式有问题吗?我是否根据你给我看的内容不当地构建了函数?它是否像底部的括号一样简单?如果您使用的是onFormSubmit,则提交的所有值都在e.NamedValue()和e.values()中。您不需要读取链接工作表中的行,信息已经提供给您。您的函数如何与表单提交触发器关联?您正确地推测我使用onFormSubmit作为触发器。你能详细说明一下e.namedValues()和e.values()中的值是什么意思吗?我希望调用什么样的代码才能以HTML页面中的格式调用这些单独的条目?