【发布时间】:2019-11-11 15:53:05
【问题描述】:
for(var i=0; i<sheet.getMaxColumns(); i++){
var params[i] = e.values[i];
}
console.log(params);
for(var z=0; z<paramsInfo.length; z++){
var paramsInfoCheck = paramsInfo[z];
var template = HtmlService.createTemplateFromFile(paramsInfoCheck.name);
template[paramsInfoCheck.name] = params[paramsInfoCheck.number];
template.recorded = params[51];
template.remarks = params[52];
if((params[paramsInfoCheck.number] < paramsInfoCheck.min) || (params[paramsInfoCheck.number] > paramsInfoCheck.max)){
MailApp.sendEmail(recipients,
"Parameter Out of Range Notification",
"",{htmlBody: template.evaluate().getContent() + spreadsheetlink});
}
}
如图所示,当我只有 1 个 console.log 时,它运行了 2 个 console.log,第一个日志捕获了这些值,而第二个没有。
- “测试”后忽略空值 - 因为这些值不应该被捕获,因此它是空值,因为表单上没有任何内容。
目前我有一个表格用来收集一些数据。它有超过 50 列。
如果键入的某些值不在范围内,我还有另一个for loop 和if loop 用于发送电子邮件。我使用了onFormSubmit 事件触发器。
当我console.log 我的值数组时。有些值是null,但在电子表格中有特定列号的值。
我假设由于数据量大,程序没有足够的时间来处理它以放入数组并运行MailApp 函数。有人遇到过这种情况吗?
我的执行日志显示已完成且没有错误,但缺少某些值,或者更确切地说是null
【问题讨论】:
-
您的问题很难理解,并且您的代码 sn-p 中没有
console.log(),因此似乎缺少最重要的部分。请查看并澄清。 -
对不起,我错过了
console.log()。我已经编辑了代码。基本上,我只有 1 个console.log,但是在我的执行日志中,第一次执行捕获了我的所有值,但在第二次执行时,它显示为空白。如前所述,在“测试”之后忽略空值,因为它们是我手动添加的附加列以供自己参考。 @迭戈