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