Skip to content

Instantly share code, notes, and snippets.

@jheitzeb
Created January 7, 2012 01:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jheitzeb/1573333 to your computer and use it in GitHub Desktop.
Save jheitzeb/1573333 to your computer and use it in GitHub Desktop.
Work activity log emailer
function myFunction() {
var email_lists = ["Cam Site", "Personal"];
var to_emails_by_list = ["cam1@gmail.com, cam1@gmail.com", "personal@gmail.com"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheet_name = ss.getName();
var sheet = ss.getSheets()[0];
var data = sheet.getRange("A1:D4000").getValues();
var today = new Date();
var one_week_millis = 1000 * 60 * 60 * 24 * 7;
var one_day_millis = 1000 * 60 * 60 * 24;
var last_week = new Date(today.getTime() - one_week_millis);
var date_range_str = last_week.toDateString() + " - " + today.toDateString();
for (var j = 0; j < email_lists.length; j++) {
var list_name = email_lists[j];
var email_subject = "What I've been working on (" + date_range_str + ") -- " + list_name;
var email_body = date_range_str;
var has_data = false;
for (var i = 1; i < data.length; i++) {
var row = data[i];
var date = row[0];
var task = row[1];
var type = row[2];
var date_different = today - date;
var days = Math.round(date_different / one_day_millis);
if (task != "" && (days <= 7) && (type == list_name)) {
email_body = email_body + "\r\n\r\n• " + task;
has_data = true;
}
}
var to_emails = to_emails_by_list[j];
if (has_data == true) {
MailApp.sendEmail(to_emails, email_subject, email_body);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment