Botón para unicamente ejecutar sscript de google sheets

Tengo un formulario de google que envía los datos a una hoja de google sheets. Tengo un script de google sheets que copia todos los datos nuevos a otra hoja pero quiero que se ejecute cuando presiono el boton guardar, actualmente funciona ssolo ssi lo abro directamente y lo ejecuto manualmente.
Este es mi script:

function actualizarInventario() {

  var hoja1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("INVT");

  var hoja2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PN1");

 

  var valoresHoja1 = hoja1.getRange("B:B").getValues();

  var valoresHoja2 = hoja2.getRange("B2:D").getValues(); // Modificamos el rango para incluir las columnas B y D

 

  var elementosAgregados = [];

 

  for (var i = 0; i < valoresHoja2.length; i++) {

   

    var elementoC = valoresHoja2[i][1]; // Valor de la columna C

    var elementoB = valoresHoja2[i][0]; // Valor de la columna B

    var elementoD = valoresHoja2[i][2]; // Valor de la columna D

   

    if (elementoB && valoresHoja1.flat().indexOf(elementoB) === -1) {

      elementosAgregados.push([elementoC, elementoB, elementoD]); // Agregamos los tres valores a la hoja 1

    }

  }

 

  if (elementosAgregados.length > 0) {

    hoja1.getRange(hoja1.getLastRow() + 1, 1, elementosAgregados.length, 3).setValues(elementosAgregados); // Modificamos el rango para incluir 3 columnas

    Logger.log(elementosAgregados.length + " elementos agregados al inventario.");

  } else {

    Logger.log("No se encontraron elementos nuevos para agregar.");

  }

}

Que bloquess debo poner o que puedo hacer para que se ejecute solo

Is your save button in your app or on the spreadsheet ?

En la app

OK, you need to create a google apps script web app for this.

Why not just send the data directly to the "other spreadsheet", or do you need the data on both spreadsheets ?

No se hacerlo, seguí este tutorial https://youtu.be/_TaF8ExlII4?si=1bd4Of6mv1fiyqgV

Estoy haciendo una base de datos para hacer conteo de inventarios

If you use a google apps script web app, you do not need to use a google form to upload the data, you can do it directly from the app, then copy the data to the other spreadsheet.

1 Like

Lo que trato de hacer es que la app que me deje modificar y agregar a productos, pero que no permita que se dupliquen, por esso puse el script, porque es el que filtra los resultados dell formulario de google. No sé si me explico

Ayudame por favor. Estoy aprendiendo

I can't do anything now, but here are some resources:

1 Like