Limitar la aplicacion del script a una sola hoja.

102 views
Skip to first unread message

Alejandro Theus

unread,
Apr 14, 2021, 12:07:13 PM4/14/21
to Apps Script en Español
Hola! 
El siguiente script da color a la fila de acuerdo al valor de la celda, lo utilizo para agrupar visualmente  valores  y como la hoja se actualiza permanentemente  la funcion es ON edit. 
 El problema que tengo es que no logro  limitarlo a que se ejecute SOLO en la hoja llamada MASTER.
 me ayudarías? 

Link documento:

 Script: 
function onEdit() {
  
  //+ 
  // Nombre de la hoja en la que se debe ejecutar
  var sheetName = 'Master';
  //+

  const sheet = SpreadsheetApp.getActiveSheet();

  //+ Para limitar la ejecución a una hoja específica (sheetName)
  if ( sheet.getName = sheetName ) {

    const colors = { color1: "#f4cccc", color2: "#d9ead3" };  
    const ranges = sheet
                  .getRange("C4:C" + sheet.getLastRow())
                  .getValues()
                  .reduce(
                    (o, [b], i) => {
                      if (b != o.temp) {
                        o.temp = b;
                        o.c++;
                    }
                  o[["color1", "color2"][o.c % 2]].push(`${i + 4}:${i + 4}`);
                  return o;
          },
          { color1: [], color2: [], c: 0, temp: "" }
        );
    Object.entries(colors).forEach(([k, v]) =>
      sheet.getRangeList(ranges[k]).setBackground(v)
    );

  };
  //+
};

Omar Raygoza

unread,
Jan 27, 2022, 7:32:06 PM1/27/22
to Apps Script en Español
Reply all
Reply to author
Forward
0 new messages