const createFile = (filename, folderId, mimeType, content) => { const docs = () => { const d = DocumentApp.create(filename); d.getBody().editAsText().setText(content); d.saveAndClose(); return d.getId(); } const slides = () => { const s = SlidesApp.create(filename); s.getSlides()[0].insertTextBox(content); s.saveAndClose(); return s.getId(); } const sheets = () => { const s = SpreadsheetApp.create(filename); s.getSheets()[0].getRange("A1").setValue(content); SpreadsheetApp.flush(); return s.getId(); } const convert = { [MimeType.GOOGLE_DOCS]: docs, [MimeType.GOOGLE_SLIDES]: slides, [MimeType.GOOGLE_SHEETS]: sheets, [MimeType.MICROSOFT_WORD]: docs, [MimeType.MICROSOFT_POWERPOINT]: slides, [MimeType.MICROSOFT_EXCEL]: sheets, [MimeType.OPENDOCUMENT_TEXT]: docs, [MimeType.OPENDOCUMENT_PRESENTATION]: slides, [MimeType.OPENDOCUMENT_SPREADSHEET]: sheets, }; const fileId = convert[mimeType](); if (mimeType.includes("google")) { Drive.Files.patch({parents: [{id: folderId}]}, fileId); return fileId; } const url = `https://www.googleapis.com/drive/v3/files/${fileId}/export?mimeType=${mimeType}`; const blob = UrlFetchApp.fetch(url, {headers: {authorization: `Bearer ${ScriptApp.getOAuthToken()}`}}).getBlob(); const id = Drive.Files.insert({title: filename, parents: [{id: folderId}]}, blob); DriveApp.getFileById(fileId).setTrashed(true); return id; } // Please run this function. function main() { var ss = SpreadsheetApp.openById('1MUwH0Cm1cwHcTWSCGPp2SePbzs_4QQmtjwOEWOrOkMw'); var sheetName = ss.getSheetByName("Sheet2"); var get = sheetName.getRange(2,3).getValue(); const filename = "sample"; const folderId = "1rsicZccurujGp5Ye5HUecBIAPf3_h5Pc"; const mimeType = MimeType.GOOGLE_SLIDES; const fileId = createFile(filename, folderId, mimeType, get); console.log(fileId); }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter