En esta entrada, vamos a mostrar una manera gratuita y rápida de poder generar encuestas profesionales y enviar una respuesta a nuestros encuestados o clientes, de manera automática a través de un correo con un PDF adjunto con todas las respuestas rellenadas.
Aquí también les dejo el segmento de código que deben copiar y pegar en sus códigos.
//URL DEL DOCUMENTO TEMPLATE
var urlDocumentoPlantilla = 'URL DEL DOCUMENTO PLANTILLA';
//ID DEL DOCUMENTO TEMPLATE
var idDocumentoPlantilla = 'ID DEL DOCUMENTO PLANTILLA';
//ID DE LA CARPETA OUTPUR PDF
var outputPdfId = 'ID DE LA CARPETA DEL DOCUMENTO PDF';
//NOMBRE TEMPORAL DEL DOCUMENTO PLANTILLA
var nombreDoc = 'tmp_Respuesta de encuesta' + Utilities.formatDate(new Date(), 'es-ES', 'dd/mm/YYYY MM:hh');
function onFormSubmit(e) {
var currentRow = e.namedValues;
var requests = [];
for (Key in currentRow) {
var txt = "{{" + Key + "}}";
var request = {
"replaceAllText": {
"containsText": {
"text": txt,
"matchCase": false,
},
"replaceText": currentRow[Key][0].toString()
}
};
requests.push(request);
}
let gDocPlantilla = DocumentApp.openByUrl(urlDocumentoPlantilla);
let newfile = DriveApp.getFileById(gDocPlantilla.getId()).makeCopy(idDocumentoPlantilla);
newfile.setName(nombreDoc);
Docs.Documents.batchUpdate({ 'requests': requests }, newfile.getId());
// CONVERTIR EL ARCHIVO EN PDF
docblob = DocumentApp.openById(newfile.getId()).getAs('application/pdf');
docblob.setName(newfile.getName() + '.pdf');
let outputFolderPdf = DriveApp.getFolderById(outputPdfId);
DriveApp.createFile(docblob).moveTo(outputFolderPdf);
// BORRO EL DOC TEMPORAL
DriveApp.getFileById(newfile.getId()).setTrashed(true);
// ENVIAR UN CORREO CON EL ARCHIVO ADJUNTO
try{
let htmlcontent = HtmlService.createTemplateFromFile('template_correo.html').getRawContent();
MailApp.sendEmail({
to : currentRow['Correo'][0].toString(),
name : 'Gestor de la Encuesta',
noReply: true,
bcc: 'ivan.tapia@diurvanconsultores.com',
subject: 'Correo con la respuesta de la encuestga',
htmlBody : htmlcontent,
attachments: [docblob.getAs(MimeType.PDF)]
});
Logger.log('Proceso terminado');
}
catch(err){
Logger.log(err);
}
return;
}
Aquí tienes un video tutorial con todos los pasos necesarios.