Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

271
Vistas
Push links generated to Google SpreadSheet in JS (Google AppScripts)

I am using a script to automate form generation. It basically loops over a list of elements, since each of them should have a different forms link. How can I store the links generated corresponding to each group in a google spreadsheet?

I would like to have a spreadsheet in this way:

Group  Link
138    https://docs.google.com/forms/idForm138
139    https://docs.google.com/forms/idForm139

Here's my code:

var lista_url=[]
var group=[137, 138, 139]


function createForm(group) {  
   // create & name Form  
   var item = "Speaker Information Form";  
   var form = FormApp.create(item)  
       .setTitle(item);  
   
   // single line text field  
   item = group;  
   form.addTextItem()  
       .setTitle(item)  
       .setRequired(true);  
   
   // multi-line "text area"  
   item = "Short biography (4-6 sentences)";  
   form.addParagraphTextItem()  
       .setTitle(item)  
       .setRequired(true);  
   
   // radiobuttons  
   item = "Handout format";  
   var choices = ["1-Pager", "Stapled", "Soft copy (PDF)", "none"];  
   form.addMultipleChoiceItem()  
       .setTitle(item)  
       .setChoiceValues(choices)  
       .setRequired(true);  
   
   // (multiple choice) checkboxes  
   item = "Microphone preference (if any)";  
   choices = ["wireless/lapel", "handheld", "podium/stand"];  
   form.addCheckboxItem()  
       .setTitle(item)  
       .setChoiceValues(choices); 



    var url_form= Logger.log('Published URL: ' + form.getPublishedUrl());
    Logger.log('Group: '+group)
    lista_url.push(url_form)
  
 }



function generate_Form_links(group){

    group.forEach(function(item, index){
    console.log(item, index)
    createForm(item)
  }
}


generate_Form_links(group)

EDIT:

Implementing this raises this error: TypeError: infoArray.join is not a function

function excelformat(lista_url) {
        var result_table = lista_url
        var lineArray = [];
        result_table.forEach(function(infoArray, index) {
            var line = infoArray.join(" \t");
            lineArray.push(index == 0 ? line : line);
        });
        var csvContent = lineArray.join("\r\n");
        var excel_file = document.createElement('a');
        excel_file.setAttribute('href', 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(csvContent));
        excel_file.setAttribute('download', 'Visitor_History.xls');
        document.body.appendChild(excel_file);
        excel_file.click();
        document.body.removeChild(excel_file);
    }

excelformat(lista_url)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Not sure if I understand your task correctly. So, if you have the two arrays: group and links you can add their content in spreadsheet this way:

var group = [138, 139];
var links = ['https://docs.google.com/forms/idForm138','https://docs.google.com/forms/idForm139'];

function save_arrays_to_spreadsheet(group, links) {
  var ss = SpreadsheetApp.openById(ss_id); // <-- put the spreadsheet ID here
  var sheet = ss.getSheets()[0];           // let it be a first sheet 
  for (var i in group) sheet.appendRow([group[i], links[i]]); // add a row
}

And I don't understand what this function in your code is doing:

function generate_Form_links(group){
  for (var group=0; group<=group.length ; group=i++){
    createForm(group) //call our function for each value in list
  }
}

It gets group (an array?) and converts it into zero var group = 0, and then there appears the variable i, etc. It all looks like an error to me.

Probably, I don't know, there should be:

function generate_Form_links(group) {
  for (var i=0; i<=group.length; i++) { createForm(group[i]) }
}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda