Añade comentarios y cambia los colores de las celdas con la macro de ONLYOFFICE

17 agosto 2023By Sergey

Automatizar las tareas de una hoja de cálculo puede ahorrar mucho tiempo y esfuerzo. Y las macros de ONLYOFFICE ofrecen una ayuda permitiendo realizar acciones basadas en condiciones. Este artículo te guiará en la creación de una macro que añade comentarios y cambia el color de celdas basándose en sus valores.

Añade comentarios y cambia los colores de las celdas con la macro de ONLYOFFICE

Creación de la macro

En primer lugar, seleccionamos la hoja de cálculo que está activa en ese momento:

var oWorksheet = Api.GetActiveSheet();

A continuación, realizamos la selección en el documento:

var oRange = Api.GetSelection()

Después creamos un bucle ForEach que itera a través de cada celda del rango seleccionado y recupera los valores de las celdas seleccionadas:

oRange.ForEach(function (range) {
    var sValue = range.GetValue();
});

A continuación, estos valores se comparan con un criterio específico. Dependiendo del resultado de la comparación, se añade un comentario a la celda utilizando el método AddComment(). Después de añadir el comentario, establecemos el color de relleno utilizando el método SetFillColor():

  if (sValue > 10000000) {
       range.AddComment("The value is bigger than 10000000.");
       range.SetFillColor(Api.CreateColorFromRGB(255, 213, 191))
    } 
else {
           range.AddComment("The value is less than 10000000.");
       range.SetFillColor(Api.CreateColorFromRGB(204, 255, 255))
    }
});

Aquí comprobamos si el valor de la celda supera un límite específico. Si es así, añadimos un comentario y ajustamos el color de la celda a un tono naranja claro (RGB: 255, 213, 191). Cuando el valor está por debajo del límite, se añade un comentario diferente junto con un color azul claro (RGB: 204, 255, 255).

El código completo de la macro es el siguiente:

(function()
{
    var oWorksheet = Api.GetActiveSheet();
var oRange = Api.GetSelection()
oRange.ForEach(function (range) {
    var sValue = range.GetValue();
    if (sValue > 10000000) {
       range.AddComment("The value is bigger than 10000000.");
       range.SetFillColor(Api.CreateColorFromRGB(255, 213, 191))
    } else {
           range.AddComment("The value is less than 10000000.");
       range.SetFillColor(Api.CreateColorFromRGB(204, 255, 255))
    }
});
})();

Ahora, ¡ejecutemos nuestra macro para ver cómo funciona!

Esperamos que esta macro sea una herramienta valiosa para agilizar tus tareas de hojas de cálculo. Utilizando las macros de ONLYOFFICE, puedes aumentar tu productividad y centrarte en otros aspectos esenciales de tu flujo de trabajo.

Te invitamos a explorar el potencial de la API de ONLYOFFICE y crear tus propias macros. Si tienes preguntas o ideas, no dudes en comentarlas o ponerte en contacto con nosotros. Nos encantaría trabajar contigo. ¡Te deseamos mucha suerte en tus futuros proyectos!