Estoy trabajando en un script que toma mis datos de Google Forms y realiza una función de reemplazo en un archivo Doc de plantilla predeterminado usando body.replaceText que funciona bien. He copiado una versión truncada de eso a continuación.
Puedo enviar un formulario y reemplazará los valores de la plantilla como se diseñó, pero hay algunas preguntas de opción múltiple (Sí o No) que están representadas por casillas de verificación en la plantilla Doc.
Descubrí cómo Logger.log las casillas de verificación a través de Unicode, pero ¿cómo obtengo var systemOperational.getValue = "yes" para asignar un valor a var systemOperationalYes usando IF/Else?
Intentando tener "Si el valor systemOperational es Sí, entonces systemOperationalYes = unicode \u2611 Else systemOperationalYes = unicode \u2610".
Perdón si algo de esto suena amateur. Esta es literalmente mi primera vez en esto.
//e.values is an array of form values var timestamp = e.values[0]; var emailAddress = e.values[1]; var jobID = e.values[2]; var storeName = e.values[3]; var systemOperational = e.values[22]; if (systemOperational.getValue = "yes") { var systemOperationalYes = "\u2611"; Logger.log("\u2611"); } else { var systemOperationalYes = "\u2610"; Logger.log("\u2610"); } // Locat template file var files = DriveApp.getFolderById("XXXXXXX").searchFiles('title contains "'+ jobID +'"'); while (files.hasNext()) { var file = files.next(); Logger.log(file.getId()); } //file is the template file, and you get it by ID var templateFile = DriveApp.getFileById(file.getId()); //We can make a copy of the template, name it, and optionally tell it what folder to live in //file.makeCopy will return a Google Drive file object var responseFolder = DriveApp.getFolderById("XXXXXXXXX"); //Converts dateSigned var to MM-dd-yyyy for use in file name var convertedDate = new Date(dateSigned); Logger.log(convertedDate); var formatSignDate = Utilities.formatDate(convertedDate, "GMT-5", "MM-dd-yyyy"); Logger.log(formatSignDate); var folder = responseFolder.createFolder(storeName + '-' + jobID + '-' + formatSignDate); var copy = templateFile.makeCopy(storeName + '-' + jobID + '-' + formatSignDate, folder); //Once we've got the new file created, we need to open it as a document by using its ID var doc = DocumentApp.openById(copy.getId()); //Since everything we need to change is in the body, we need to get that var body = doc.getBody(); //Then we call all of our replaceText methods body.replaceText('{{SYSOPY}}', systemOperationalYes); //Lastly we save and close the document to persist our changes doc.saveAndClose(); // Convert temporary document to PDF var pdf = DriveApp.getFileById(copy.getId()).getAs("application/pdf") var url = DriveApp.getFolderById(folder.getId()).createFile(pdf); // Delete temp file //DriveApp.getFileById(templateFile.getId()).setTrashed(true); }```inténtalo de esta manera:
var timestamp = e.values[0]; var emailAddress = e.values[1]; var jobID = e.values[2]; var storeName = e.values[3]; var systemOperationalYes; if (e.values[22] = "yes") { systemOperationalYes = "\u2611"; Logger.log("\u2611"); } else { systemOperationalYes = "\u2610"; Logger.log("\u2610"); }