Crea una macro de ONLYOFFICE que elimina comentarios específicos en el documento

17 enero 2024By Sergey

A veces simplemente necesitas deshacerte de los comentarios en tu documento. En esta entrada del blog, te mostraremos cómo crear una macro simple para ONLYOFFICE que borra comentarios específicos o todos, manteniendo tu colaboración enfocada y libre de desorden.

Crea una macro de ONLYOFFICE que elimina comentarios específicos en el documento

Creación de la macro

var oDocument = Api.GetDocument();

Para empezar, obtenemos el documento actual en la variable oDocument.

var aComments = oDocument.GetAllComments();
var enteredText = "THE COMMENT YOU WANT TO DELETE";

A continuación, obtenemos todos los comentarios de la macro utilizando el método GetAllComments(), y establecemos el comentario que queremos buscar. Si quieres eliminar todos los comentarios del documento, puedes saltarte este paso y seguir los pasos que se indican abajo.

  for (let i = 0; i < aComments.length; i++) {
    var sQuoteText = aComments[i].GetText();

Después, configuramos el bucle for que itera a través de la matriz aComments y obtiene el texto del comentario para cada iteración en sQuoteText.

  //aComments[i].Delete();     Uncomment if you want to delete every comment in the document

Si quieres borrar todos los comentarios del documento, puedes descomentar esta línea y ejecutar la macro.

    if (sQuoteText === enteredText) {
      aComments[i].Delete();
    }
  }

Por último, comprobamos si la palabra introducida (enteredText) coincide con el texto del comentario. Si es así, borramos el comentario de esa palabra con el método delete().

Código completo de la macro

Este es el código completo de la macro.

(function () {
  //get the active sheets and comments
  var oDocument = Api.GetDocument();
  var aComments = oDocument.GetAllComments();

  var enteredText = "THE COMMENT YOU WANT TO DELETE"; //place your comment here

  //for loop to iterate through all the comments
  for (let i = 0; i < aComments.length; i++) {
    var sQuoteText = aComments[i].GetText();
    //aComments[i].Delete();     Uncomment if you want to delete every comment in the document

    //this if statement deletes all instances of the specified comment from the doc
    if (sQuoteText === enteredText) {
      aComments[i].Delete();
    }
  }
})();

¡Ahora vamos a ejecutar nuestra macro y verla en acción!

Borrar todos los comentarios:

Borrar comentarios específicos:

Y con esto terminamos nuestro sencillo tutorial sobre macros. Estamos seguros de que esta pequeña herramienta te facilitará la edición de documentos, te ahorrará tiempo y mejorará la colaboración. ¡Feliz edición!

No te pierdas la oportunidad de aprovechar el poder de la API de ONLYOFFICE. Nuestra amplia biblioteca de métodos API es la clave para transformar tus ideas en realidad. Si tienes alguna pregunta o concepto innovador, te animamos a que lo compartas con nosotros. Tu opinión es muy valiosa, y nos entusiasma la posibilidad de colaborar contigo. Te deseamos mucha suerte en tus esfuerzos exploratorios.