【发布时间】:2021-03-05 12:10:09
【问题描述】:
我正在使用这个电子表格Here
当某个特定日期还剩 3 天时,我正尝试向特定收件人“email@myemail.com”发送一封电子邮件。 每行代表一个人,我希望发送的电子邮件能够为每个离职日期的人发送一封电子邮件 - 今天的日期正好是 3 天。
这是我的输出:Email received
这是我正在使用的脚本:
function Offboarding_Reminder() {
// get the spreadsheet object
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// set the first sheet as active
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
// fetch this sheet
var sheet = spreadsheet.getActiveSheet();
// figure out what the last row is
var lastRow = sheet.getLastRow();
// the rows are indexed starting at 1, and the first row
// is the headers, so start with row
var startRow = 2;
// grab column 11 (the 'days left' column)
var range = sheet.getRange(2,12,lastRow-startRow+1,1 );
var numRows = range.getNumRows();
var days_left_values = range.getValues();
// Now, grab the user name column
range = sheet.getRange(2, 1, lastRow-startRow+1, 1);
var reminder_name = range.getValues();
var warning_count = 0;
var msg = "";
// Loop over the days left values
for (var i = 0; i < numRows - 1; i++) {
var days_left = days_left_values[i][0];
if(days_left == 3) {
// if it's exactly 3, do something with the data.
var user_name = reminder_name[0][i];
msg ="Reminder:"+reminder_name+" offboarding is due in "+days_left+" days.\n";
warning_count++;
}
}
if(warning_count) {
MailApp.sendEmail("email@myemail.com","Reminder Offboarding",msg)
}
};
两件事我不明白:
- 为什么我发送的电子邮件给了我所有的用户电子邮件,而不是只有 days_left == 3 的那些?
- 要自动化这个脚本,一旦它工作,我应该在 appscript 中添加一个触发器?
感谢您的帮助!
【问题讨论】:
标签: google-apps-script google-sheets spreadsheet google-developer-tools