Итак, я пытаюсь настроить электронную почту напоминания для автоматического отправки на основе даты в ячейке. Вроде как это: Google Apps Script - Send Email based on date in cell Вот мой пример книги: https://docs.google.com/spreadsheet/ccc?key=0AiHAV8ZZ5nexdDJqODhmamhldjN1ZTRKc09iZXNBZ3c#gid=0Скрипт Google Apps - отправьте электронное письмо на основе данных в ячейке
Это код, который у меня есть:
function sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = sheet.getLastRow()-1; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
// Fetch values for each row in the Range.
var data = dataRange.getValues();
//Logger.log(data)
for (i in data) {
var row = data[i];
var date = new Date();
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
//Logger.log(date);
var sheetDate = new Date(row[2]);
//Logger.log(sheetDate);
var Sdate = Utilities.formatDate(date,'GMT+0200','yyyy:MM:dd')
var SsheetDate = Utilities.formatDate(sheetDate,'GMT+0200', 'yyyy:MM:dd')
Logger.log(Sdate+' =? '+SsheetDate)
if (Sdate == SsheetDate){
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = "It's time to practice!" +message;
MailApp.sendEmail(emailAddress, subject, message);
//Logger.log('SENT :'+emailAddress+' '+subject+' '+message)
}
}
}
Но я не уверен, если он работает, и он будет автоматически отправлять электронную почту из ? Очевидно, я знаю очень маленький сценарий.
Это потрясающе! Спасибо Киру. Еще два вопроса: 1. Если я добавлю больше пользователей в список электронной почты, мой сценарий автоматически подберет это? & 2. будет ли сценарий запускаться автоматически один раз в день, или мне нужно что-то сделать, чтобы заставить его это сделать? – user3304107
Хорошо, поэтому я ответил на свой первый вопрос и частично на второй. Однако я настраиваю триггер, основанный на времени, но он не работает. Я пробовал указать конкретную дату и время и минутный таймер, но я не работаю для меня. – user3304107
Я бы проверил вашу функцию sendEmail, чтобы убедиться, что она фактически отправляет электронные письма, когда это предполагается; убедитесь, что вы полностью авторизировали сценарий приложений. Я бы поставил перерыв в отладчике на -if (Sdate == SsheetDate) - и убедитесь, что ваши даты поступают так, как ожидалось. Если он функционирует так, как ожидалось, чем просто настроить ежедневный триггер для запуска в час дня, в который вы хотите отправить электронное письмо. –