Erstellen eines ONLYOFFICE-Makros zum Erfassen von Wortvorkommen in Dokumenten

23 Mai 2024By Vlad

Ob Sie nun Inhalte überprüfen, wichtige Wörter suchen oder einfach nur versuchen, Ihre Daten besser zu verstehen bzw. zu wissen, wie oft ein Wort vorkommt, ist ziemlich praktisch. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie ein Makro erstellen, das zählt, wie oft ein bestimmtes Wort in Ihrem Dokument vorkommt.

Building an ONLYOFFICE macro to tally word occurrences in your document

Erstellung des Makros

(function () {
  const oDocument = Api.GetDocument();
  const oRange = oDocument.GetRangeBySelect();
  const targetWord = "apple";

Zu Beginn erhalten wir das Arbeitsdokument in der Variable oDocument und die Textauswahl in oRange. Die Variable targetWord enthält das Wort, nach dem Sie suchen möchten. Dieses sollte durch das Wort ersetzt werden, nach dem Sie in Ihrem Dokument suchen möchten.

    const rawText = oRange.GetText();
    var wordRegex = new RegExp("\\b" + targetWord + "\\b", "gi");
    var matches = rawText.match(wordRegex);

Anschließend wird der Text in der Auswahl in rawText extrahiert. Ein regulärer Ausdruck sucht im gesamten Dokument nach dem angegebenen Wort. Dieser reguläre Ausdruck wird in wordRegex gespeichert. Anschließend werden mit Hilfe der match-Methode und wordRegex alle Instanzen des targetWord im Array matches gespeichert.

    let count = 0;
    for (let i = 0; i < matches.length; i++) {
      count++;
    }
    const wordInstances = count;

Die Länge von targetWord wird berechnet und in der Variablen wordInstances gespeichert.

    return wordInstances;
  }

Die Funktion endet mit der Rückgabe der Variablen wordInstances am Ende ihres Anwendungsbereichs.

  const ans = addCommentToWord();
  oRange.AddComment(
    `The word ${targetWord} is repeated ${ans} times throughout this text.`
  );

Schließlich speichern wir den von der Funktion zurückgegebenen Wert in ans, zusammen mit einem Kommentar, der die Gesamtzahl der Wiederholungen des Wortes in der Auswahl angibt.

Der vollständige Makrocode

Hier ist der gesamte Code des Makros:

(function () {
  const oDocument = Api.GetDocument();
  const oRange = oDocument.GetRangeBySelect();
  const targetWord = "apple";

  function addCommentToWord() {
    const rawText = oRange.GetText();

    // Specify the target word and the length of the word
    // Find all occurrences of the target word in the document
    var wordRegex = new RegExp("\\b" + targetWord + "\\b", "gi");
    var matches = rawText.match(wordRegex);

    let count = 0;
    for (let i = 0; i < matches.length; i++) {
      count++;
    }
    const wordInstances = count;
    return wordInstances;
  }

  // `The word `${targetword} has been repeated ${wordInstances} times.`
  const ans = addCommentToWord();

  oRange.AddComment(
    `The word ${targetWord} is repeated ${ans} times throughout this text.`
  );

})();

Let’s see our macro in action!

Wir sind davon überzeugt, dass dieses Makro Ihre Dokumentenanalyse zu einem Kinderspiel macht, indem es mühelos die Wortvorkommen erfasst, Ihren gesamten Arbeitsablauf verbessert und Ihre Inhaltsbewertungen vereinfacht und verfeinert.

Verpassen Sie nicht die Chance, die Leistung der ONLYOFFICE API zu nutzen. Unsere umfangreiche Bibliothek von API-Methoden ist Ihr Schlüssel, um Ihre Ideen in die Realität umzusetzen. Wenn Sie Fragen oder innovative Konzepte haben, können Sie uns diese gerne mitteilen. Ihre Anregungen sind uns sehr wichtig, und wir freuen uns über die Möglichkeit der Zusammenarbeit mit Ihnen. Viel Erfolg!

Erstellen Sie Ihr kostenloses ONLYOFFICE-Konto

Öffnen und bearbeiten Sie gemeinsam Dokumente, Tabellen, Folien, Formulare und PDF-Dateien online.