【发布时间】:2016-10-26 07:19:36
【问题描述】:
我修改了 Google 的邮件合并示例以创建一个 Google 电子表格/脚本,我希望在客户的租赁到期日前 3 天发送一封电子邮件。我设置了一个单元格来获取用户输入的租赁到期日期并减去今天的日期。
然后我运行一个 if 语句来检查该单元格是否等于 3,如果是,则使用 MailApp 发送电子邮件。但由于某种原因,它似乎不起作用,当我尝试 Logger.log 时,变量返回未定义。我对 Google Scripts 和 Sheets 真的很陌生,所以如果我完全含糊不清或不了解一些基本内容,我深表歉意。
这里是a link to the sheet,您只需进入工具/脚本编辑器即可查看脚本。
function sendEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheets()[0];
var dataRange = dataSheet.getRange(2, 1, dataSheet.getMaxRows() - 1, 7);
var templateSheet = ss.getSheets()[1];
var emailTemplate = templateSheet.getRange("A1").getValue();
// Create one JavaScript object per row of data.
var 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 = "Your Renty Rental is Due Soon!";
var timeTill = objects[i][6];
Logger.log(timeTill);
if (timeTill == 3) {
MailApp.sendEmail(rowData.emailAddress, emailSubject, emailText);
}
}
}
【问题讨论】:
-
你有没有试过转储
objects来看看它的内部结构?我不是一个 JS 人,但我相信有一些库/sn-ps 可用于在 JS 中转储复杂的变量。
标签: java scripting google-sheets