// 1) GERA CÓDIGOS E RESPECTIVOS URLS // 2) ENVIA A LISTA PARA E-MAILS // 3) EMBARALHA OS CÓDIGOS function enviarCedulas(){ //GERA CÒDIGOS E RESPECTIVOS URLS var formId = "CÓDIGO OCULTADO"; var entry = "1666239363"; var ssId = SpreadsheetApp.getActive().getId(); var planilha = SpreadsheetApp.openById(ssId); var nomeAba = "VOTANTES"; var aba = planilha.getSheetByName(nomeAba); var votantes = aba.getDataRange().getValues(); var totalCodigos = votantes.length; gerarTodosOsCodigos(formId, entry, totalCodigos); nomeAba = "CODIGOS"; aba = planilha.getSheetByName(nomeAba); var codigosRange = aba.getDataRange(); var codigos = codigosRange.getValues(); var totalEmails = votantes.length; for (var i = 1; i < totalEmails; i++) { var name = votantes[i][0]; var theirMail = votantes[i][1]; var url = codigos[i][1]; mandaEmails(name, theirMail, url); var aaa; } embaralhaCodigos(); } function embaralhaCodigos() { var ssId = SpreadsheetApp.getActive().getId(); var planilha = SpreadsheetApp.openById(ssId); var nomeAba = "CODIGOS"; var aba = planilha.getSheetByName(nomeAba); var range = aba.getDataRange(); var random = aba.getRange(2, 1, range.getLastRow() - 1, range.getLastColumn() - 1); random.randomize(); } function gerarCodigo() { //http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript return random = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); } function constroiUrl(codigos, formId, entry){ var template = "https://docs.google.com/forms/d/--form-id--/viewform?entry.##entryNumber##=##COD##"; template = template.replace("--form-id--", formId); var urls = ["Url"]; // Skip headers, then build URLs for each row in Sheet1. for (var i = 1; i < codigos.length; i++ ) { var url = template.replace('##COD##',escape(codigos[i])).replace('##entryNumber##', entry); urls.push(url); } return urls; } function adicionaValoresParaTabela(aba, letraColuna, valores) { const intervalo = [letraColuna, "1:", letraColuna, valores.length].join(""); const fn = function(v) { return [ v ]; }; aba.getRange(intervalo).setValues(valores.map(fn)); } function gerarTodosOsCodigos(formId, entry, totalCodigos){ var ssId = SpreadsheetApp.getActive().getId(); var nomeAba = "CODIGOS"; var planilha = SpreadsheetApp.openById(ssId); var aba = planilha.getSheetByName(nomeAba); var codigos = ["Códigos"]; for (var i = 1; i < totalCodigos; i++) { codigos.push(gerarCodigo()); } adicionaValoresParaTabela(aba,"A",codigos); var links = constroiUrl(codigos, formId, entry); adicionaValoresParaTabela(aba,"B",links); } function mandaEmails(name, theirMail, url) { var facebookLogoUrl = "https://sites.google.com/site/condominiomizaelmontenegro/gastos-e-receita/area-do-sindico/Ameciclo_html_m2456de1c.png"; var twitterLogoUrl = "https://sites.google.com/site/condominiomizaelmontenegro/gastos-e-receita/area-do-sindico/Ameciclo_html_m65ecf6cc.png"; var instagramLogoUrl = "https://sites.google.com/site/condominiomizaelmontenegro/gastos-e-receita/area-do-sindico/Ameciclo_html_m475d4370.png"; var facebookUrl = "http://www.facebook.com/AMEciclo"; var twitterUrl = "http://www.twitter.com/Ameciclo"; var instagramUrl = "http://www.instagram.com/Ameciclo"; var amecicloUrl = "http://www.ameciclo.org/"; var amecicloMailUrl = "mailto:contato@ameciclo.org"; var amecicloGroupMailUrl = "http://groups.google.com/group/ameciclo"; var amecicloGroupFacebookUrl = "http://www.facebook.com/groups/138029079711872/"; var amecicloLogoUrl = "https://uniaodeciclistas.org.br/wp-content/uploads/2013/04/Logo-Ameciclo-Qdr-Pq-300x300.jpg"; var conteudo = "
" +
" Olá " + name + ", Cada célula tem um código único, gerado aleatoriamente, e garante o anonimato do voto. Não passe esse código ou link para ninguém, pois é pessoal e intransferível. Atenciosamente, |