Apps Script Fun Coding Exercises 3

Learn more about Google Apps Script – Free coding lesson – Source Code included

Apps Script Fun Coding Exercises 3

How to send a reminder email
Add to Sheet new email data
How to create a PDF from Sheet
Add new Calendar event
How to create a new doc

How to send a reminder email

Create a script that automatically sends a reminder email to team members who haven’t completed a task in a Google Sheet.

function sendReminderEmails() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);

  var data = sheet.getDataRange().getValues();

  var today = new Date();

  for (var i = 1; i < data.length; i++) {

    var dueDate = new Date(data[i][2]);

    var daysDiff = Math.floor((today – dueDate) / 86400000);

    if (daysDiff >= 2 && data[i][3] == “”) {

      var recipient = data[i][1];

      var subject = “Reminder: Task is overdue”;

      var message = “Please complete the task as soon as possible.”;

      MailApp.sendEmail(recipient, subject, message);

    }

  }

}

Add to Sheet new email data

Create a script that adds a new row to a Google Sheet when a new email is received in a specific Gmail label.

function onGmailMessage(e) {

  var label = GmailApp.getUserLabelByName(“Label Name”);

  if (label && e.labelIds.indexOf(label.getId()) != -1) {

    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);

    sheet.appendRow([e.subject, e.getBody()]);

  }

}

How to create a PDF from Sheet

Create a script that automatically generates a PDF file and saves it to Google Drive when a new row is added to a Google Sheet.

function createPDF() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);

  var range = sheet.getRange(“A1:C10”);

  var blob = range.getBlob().getAs(“application/pdf”).setName(“file.pdf”);

  var folder = DriveApp.getFolderById(“folderId”);

  var file = folder.createFile(blob);

}

Add new Calendar event

Create a script that automatically adds a new event to a Google Calendar when a new row is added to a Google Sheet.

function createCalendarEvent(e) {

  var title = e.namedValues[“Title”][0];

  var start = new Date(e.namedValues[“Start”][0]);

  var end = new Date(e.namedValues[“End”][0]);

  var calendar = CalendarApp.getDefaultCalendar();

  calendar.createEvent(title, start, end);

}

function createSheetTrigger() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);

  ScriptApp.newTrigger(“createCalendarEvent”)

    .forSpreadsheet(sheet)

    .onFormSubmit()

    .create();

}

How to create a new doc

Create a script that automatically creates a new Google Doc when a new row is added to a Google Sheet and populates it with data from the row.

function createNewDoc(e) {

  var title = e.namedValues[“Title”][0];

  var body = e.namedValues[“Body”][0];

  var folder = DriveApp.getFolderById(“folderId”);

  var newDoc = DocumentApp.create(title);

  var newFile = DriveApp.getFileById(newDoc.getId());

  folder.addFile(newFile);

  newFile.getParents().next().removeFile(newFile);

  newDoc.getBody().setText(body);

}

function createSheetTrigger() {

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);

  ScriptApp.newTrigger(“createNewDoc”)

    .forSpreadsheet(sheet)

    .onFormSubmit()

    .create();

}

Note: These are just basic examples of what you can do with Google Apps Script. You can modify these scripts and build

#GoogleAppsScript #GAS #AppsScript #GoogleScript #GoogleSheets #GoogleDocs #GoogleForms #GoogleSlides #GoogleWorkspace #GSuite #GSuiteEdu #GoogleEdu #onlinecourses #elearning #distancelearning #onlinetraining #learningonline #onlineeducation #MOOCs #virtuallearning #edtech #educationtechnology #learningsolutions #traininganddevelopment #professionaldevelopment