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