Construisez une macro ONLYOFFICE qui supprime des commentaires spécifiques dans le document

17 janvier 2024By Dasha

Parfois, vous avez simplement besoin de vous débarrasser des commentaires dans votre document. Dans cet article, nous allons vous montrer comment créer une macro simple pour ONLYOFFICE qui nettoie des commentaires spécifiques ou tous les commentaires, en gardant votre collaboration concentrée et sans soucis d’encombrement.

Building an ONLYOFFICE macro to tally word occurences in your document

Construction de la macro

var oDocument = Api.GetDocument();

Pour commencer, nous récupérons le document actuel dans la variable oDocument.

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

Ensuite, nous récupérons tous les commentaires de la macro à l’aide de la méthode GetAllComments(), et nous définissons le commentaire que nous voulons rechercher. Si vous souhaitez supprimer tous les commentaires du document, vous pouvez sauter cette étape et suivre les étapes ci-dessous.

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

Ensuite, nous mettons en place la boucle for qui parcourt le tableau aComments et récupère le texte du commentaire pour chaque itération dans sQuoteText.

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

Si vous souhaitez supprimer tous les commentaires du document, vous pouvez décommenter cette ligne et exécuter la macro.

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

Enfin, nous vérifions si le mot saisi (enteredText) correspond au texte du commentaire. Si c’est le cas, nous supprimons le commentaire sur ce mot avec la méthode delete().

Code complet de la macro

Voici le code complet 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();
    }
  }
})();

Exécutons maintenant notre macro pour la voir en action !

Suppression de tous les commentaires :

Suppression de commentaires spécifiques :

Voilà qui conclut notre tutoriel sur les macros faciles. Nous sommes convaincus que ce petit outil facilitera l’édition de vos documents, vous fera gagner du temps et favorisera la collaboration. Bonne rédaction !

Ne manquez pas l’occasion d’exploiter la puissance de l’API ONLYOFFICE. Notre vaste bibliothèque de méthodes API est votre clé pour transformer vos idées en réalité. Si vous avez des questions ou des concepts innovants, nous vous encourageons à les partager avec nous. Votre contribution est très appréciée et nous sommes ravis de pouvoir collaborer avec vous. Nous vous souhaitons bonne chance dans vos projets exploratoires !