Como detectar que el usuario ha añadido una nueva línea con Google Apps Script


En muchas ocasiones nos puede resultar muy útil usar Google Apps Script para saber cuando alguien inserta una nueva fila. Ya sea Zapier generando una nueva fila, otro script que tengamos o que el mismo usuario inserten una nueva fila, con el código que os enseñaré podréis detectar este hecho y hacer lo que necesitéis (cambiar formatos de celdas, setear timestamps, crear logs, etc...)

function CrearTriggerOnChange()
{
    var sheet = SpreadsheetApp.getActive();
    ScriptApp.newTrigger("onChange")
      .forSpreadsheet(sheet)
      .onChange()
      .create();
}

function onChange(e)
{
   if(e.changeType=="INSERT_ROW")
   {
      SpreadsheetApp.getUi().alert("Se ha insertado una fila nueva");
   }
}

Usamos el evento onChange (parecido, pero diferente al evento onEdit) para detectar cuando alguien inserta una nueva fila. Este evento tiene muchos más usos, pero por ahora, con este ya podemos hacer.

En el ejemplo concreto que os muestro lo que ocurre es que cada vez que alguien cree una nueva fila aparecerá un mensaje informando que se ha creado una nueva fila, algo de este estilo:

Como detectar una nueva fila con Google Apps Script

En otros artículos os explicaré más usos del onChange.

Solo un último detalle. Al contrario del evento onEdit, el evento de onChange es necesario instalarlo. Es por ello que os he dejado la función de CrearTriggerOnChange. La tendréis que ejecutar una vez para que se instale el trigger ( solo una vez :) ). Si lo necesitáis tengo otro artículo que explica muy claramente como funcionan los triggers

No vaciléis en hacerme llegar vuestras dudas

Nos vemos





No hay comentarios:

Publicar un comentario

Tal vez te interese