Skip to content

Instantly share code, notes, and snippets.

@barrieroberts
Last active April 5, 2021 22:46
Show Gist options
  • Save barrieroberts/de46b3ac6ff9ea73ec1607d958e093e6 to your computer and use it in GitHub Desktop.
Save barrieroberts/de46b3ac6ff9ea73ec1607d958e093e6 to your computer and use it in GitHub Desktop.
Master document maker
//CHAPTER 2 - Bound to a Google Form
function copyMasterDocument(e) {
//Get form responses (teacher & document)
var itemResponses = e.response.getItemResponses();
var teacher = itemResponses[0].getResponse();
var document = itemResponses[1].getResponse();
//Get file ID for document selected
var documents = ["Lesson plan",
"Class notes"];
var documentIds = ["DOCUMENT ID",
"DOCUMENT ID"];
var position = documents.indexOf(document);
var docId = documentIds[position];
//Get teacher's folder ID from teacher
var teachers = ["George Harris",
"Jo Lennon",
"Paul Mac"];
var folderIds = ["FOLDER ID",
"FOLDER ID",
"FOLDER ID"];
var position = teachers.indexOf(teacher);
var folderId = folderIds[position];
//Get master Doc and make a copy and rename
var doc = DriveApp.getFileById(docId);
var tFolder = DriveApp.getFolderById(folderId);
var copiedDoc = doc.makeCopy(document + " - " + teacher, tFolder);
//Edit new Document - Add teacher's name to Doc
var newDoc = DocumentApp.openById(copiedDoc.getId());
var body = newDoc.getBody();
var paragraphs = body.getParagraphs();
//Append text to 3rd paragraph
if (document === "Lesson plan") {
paragraphs[2].appendText("Teacher: " + teacher);
}
//Insert paragraph at the end of the document
else if (document === "Class notes") {
body.insertParagraph(paragraphs.length, "Prepared by " + teacher);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment