Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function listFilesFromFolderIntoCurrentSpreadsheet() {
- var folderId = '01234567890aBcDeFgHijKlMnOpQ'; // use your own Id
- var folder = DriveApp.getFolderById(folderId);
- var contents = folder.getFiles();
- var sheet = SpreadsheetApp.getActiveSheet(); // careful with the spreadsheet, it will be cleared
- var file;
- var docNumberRegExp;
- var docNumberMatches;
- var docNumber;
- var docName;
- var title;
- var fileId;
- var fileUrl;
- var mimeType;
- var docType;
- var description;
- var purpose;
- var authors;
- var authorList;
- var editorList;
- var responsible;
- var responsibleName;
- var responsibleMail;
- var responsibleElements;
- var creationDate;
- var modificationDate;
- var size;
- var rowData;
- sheet.clear();
- sheet.appendRow(["Number", "Title", "URL", "Type", "Description", "Purpose", "Authors", "Responsible/Owner", "Due Date", "Last Modification", "Creation Date"]);
- while(contents.hasNext()) {
- file = contents.next();
- // title and number
- docName = file.getName();
- docNumber = "";
- docNumberRegExp = new RegExp(/([Mm]emo\s+[0-9]+)\s*(-|—)\s*(.*)/);
- docNumberMatches = docNumberRegExp.exec(docName);
- if (docNumberMatches) {
- docNumber = docNumberMatches[1];
- title = docNumberMatches[3];
- } else {
- title = docName;
- }
- // fileId and URL builder
- fileUrl = file.getUrl();
- // type from MIME type
- mimeType = file.getMimeType();
- docType = "";
- switch(mimeType) {
- case "application/vnd.google-apps.spreadsheet":
- docType = "Google Spreadsheet";
- break;
- case "application/vnd.google-apps.document":
- docType = "Google Document";
- break;
- case "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
- docType = "OpenOffice Document";
- break;
- case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":
- docType = "OpenOffice Spreadsheet";
- break;
- case "application/vnd.openxmlformats-officedocument.presentationml.presentation":
- docType = "OpenOffice Presentation";
- break;
- case "application/x-iwork-pages-sffpages":
- docType = "Pages Document";
- break;
- case "application/x-iwork-numbers-sffnumbers":
- docType = "Numbers Spreadsheet";
- break;
- case "application/vnd.ms-project":
- docType = "MS Project document";
- break;
- case "application/pdf":
- docType = "PDF document";
- break;
- case "application/x-gzip":
- docType = "Gzipped document";
- break;
- case "application/x-zip":
- docType = "Zipped document";
- break;
- case "image/png":
- docType = "PNG image";
- break;
- case "image/jpeg":
- docType = "JPEG image";
- break;
- default:
- docType = mimeType;
- }
- description = file.getDescription();
- purpose = "TBD";
- // get and create email link to owner
- owner = file.getOwner();
- responsibleName = file.getOwner().getName();
- responsibleMail = file.getOwner().getEmail();
- responsibleElements = [ "=HYPERLINK(\"", "mailto:",responsibleMail, "\"; \"",responsibleName, "\")"];
- responsible = responsibleElements.join("");
- // get author's names
- authorList = [];
- editorList = file.getEditors()
- editorList.forEach(function(editor) {
- authorList.push(editor.getName())
- }
- )
- authors = authorList.sort().join(", ");
- creationDate = file.getDateCreated();
- modificationDate = file.getLastUpdated();
- // size = file.getSize();
- rowData = [docNumber, title, fileUrl, docType, description, purpose, authors, responsible, "TBD", modificationDate, creationDate];
- sheet.appendRow(rowData);
- }
- };
Add Comment
Please, Sign In to add comment