文書中の特定のコメントを削除するONLYOFFICEマクロを構築する方法

2024年01月17日著者:Denis

文書内のコメントを削除したいときがありませんか。この記事では、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();

次に、aComments 配列を繰り返し処理する for ループを設定し、各繰り返しのコメントテキストを 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メソッドの豊富なライブラリは、あなたのアイデアを現実に変える鍵です。ご質問や革新的なコンセプトがあれば、私たちとぜひ共有してください