【发布时间】:2014-05-28 09:30:15
【问题描述】:
我正在使用这个Simple Mail Merge Tutorial 来帮助我创建邮件合并,以便向学生及其家长发送他们完成的社区服务时间的摘要。他们的电子邮件地址位于 Google 表格文档中。该脚本一直有效,直到它遇到一个空白单元格。然后它给了我一个错误,上面写着“无效的电子邮件:未定义”,并引用了脚本中使用发送电子邮件命令的行。
我已经在电子表格本身中暂时解决了这个问题,方法是让它在任何空白单元格中插入一个虚拟电子邮件,但我只想将它写入脚本以忽略空白单元格。
完整的代码在上面的链接中。我已修改该代码以从工作表中的三列电子邮件地址而不是一列中提取。关键是:
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheets()[0];
var dataRange = dataSheet.getRange(5, 1, dataSheet.getMaxRows() - 1, 7);
var templateSheet = ss.getSheets()[1];
var emailTemplate = templateSheet.getRange("B7").getValue();
// Create one JavaScript object per row of data.
objects = getRowsData(dataSheet, dataRange);
// For every row object, create a personalized email from a template and send
// it to the appropriate person.
for (var i = 0; i < objects.length; ++i) {
// Get a row object
var rowData = objects[i];
// Generate a personalized email.
// Given a template string, replace markers (for instance ${"First Name"}) with
// the corresponding value in a row object (for instance rowData.firstName).
var emailText = fillInTemplateFromObject(emailTemplate, rowData);
var emailSubject = templateSheet.getRange("B6").getValue();
MailApp.sendEmail(rowData.studentEmail, emailSubject, emailText);
MailApp.sendEmail(rowData.parentaEmail, emailSubject, emailText);
MailApp.sendEmail(rowData.parentbEmail, emailSubject, emailText);
}
我需要添加什么来跳过 parentaEmail 和 parentbEmail 列中的空白单元格?
【问题讨论】:
标签: google-apps-script mailmerge isnullorempty