如何用 ONLYOFFICE 宏删除文档中的特定注释

2024年01月18日作者: Mona

有时只需要删除文档中的注释,要怎么快速做到呢?在这篇文章中,我们将会展示如何为ONLYOFFICE创建一个简单的宏,来删除某些特定的或所有评论,从而保持协作的重点和整洁。

Building an ONLYOFFICE macro to tally word occurences in your document

创建

var oDocument = Api.GetDocument();

首先,我们在 oDocument 变量中获取当前工作文档。

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

接下来,我们使用 GetAllComments() 方法获取宏中的所有注释,并设置要搜索的注释。如果要删除文档中的所有注释,可以跳过此步骤并按照以下步骤操作。

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

接下来,我们设置 for 循环,该循环迭代 aComments 数组并获取 sQuoteText 中每次迭代的注释文本。

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

如果要删除文档中的所有注释,可以取消注释此行并运行宏。

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

最后,我们检查输入的单词(enteredText)是否与注释中的文本匹配。如果是这样,我们使用 delete() 方法删除对该单词的注释。

完整宏代码

下面是完整的宏代码。

(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();
    }
  }
})();

现在让我们运行我们的宏,看看它的实际效果!

删除所有评论:

删除特定注释:

以上就是一个简单的宏教程。这个小工具将使文档编辑更加顺畅,节省时间并促进协作。

不要错过利用 ONLYOFFICE API 强大功能的机会。我们广泛的 API 方法库是您将想法变为现实的关键。如果您有任何问题或创新概念,欢迎与我们分享。也很高兴能够与您合作。祝探索之路好运!