Sostituisci le parole nel documento con la macro ONLYOFFICE

1 novembre 2023By Elena

La modifica dei documenti è un aspetto fondamentale delle nostre attività quotidiane e spesso ci capita di cercare gli strumenti che possano aiutarci con le attività ripetitive. Questo post del blog spiega come creare una macro per sostituire le parole nel documento all’interno di una selezione.

Replace words in the document with ONLYOFFICE macro

Creazione della macro

Prima di tutto apriamo il file nell’editor di documenti. Quindi, specifichiamo il testo selezionato e acquisiamo i valori. Questo intervallo è dove andremo a cercare e sostituire le parole:

const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();

Quindi eliminiamo il testo selezionato:

oRange.Delete();

Assegniamo la parola che stiamo cercando alla variabile wordToFind e la parola con cui vogliamo sostituirla alla replaceWord:

// Define the word to find and the word to replace it with
const wordToFind = "oldWord"; // Replace "oldWord" with the word you want to find
const replacementWord = "newWord"; // Replace "newWord" with the word you want to replace it with

Applichiamo un’espressione regolare al rawText (il testo all’interno dell’intervallo selezionato) per trovare tutte le istanze di wordToFind e sostituirle con replaceWord. L’espressione regolare con il flag “g” garantisce che tutte le occorrenze vengano sostituite. Il testo modificato viene memorizzato nella variabile cleanText:

// Use regular expression to find and replace the word
const cleanedText = rawText.replace(new RegExp(wordToFind, "g"), replacementWord);

Una volta completata la ricerca e sostituzione, creiamo un nuovo paragrafo all’interno del documento utilizzando Api.CreateParagraph(). In questo paragrafo aggiungiamo il testo con le parole sostituite. Infine reinseriamo il paragrafo modificato nel documento:

// Insert the cleanedText with the original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph]);

L’intera macro è la seguente:

(function()
{
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();
oRange.Delete();
// Define the word to find and the word to replace it with
const wordToFind = "oldWord"; // Replace "oldWord" with the word you want to find
const replacementWord = "newWord"; // Replace "newWord" with the word you want to replace it with
// Use regular expression to find and replace the word
const cleanedText = rawText.replace(new RegExp(wordToFind, "g"), replacementWord);
// Insert the cleanedText with the original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph]);
})();

Ora eseguiamo la nostra macro e vediamo come funziona!

Ci auguriamo che questa macro sia un’utile aggiunta al tuo arsenale e semplifichi la modifica dei documenti. Le macro di ONLYOFFICE sono progettate per portare il tuo flusso di lavoro a nuovi livelli.

Sfrutta tutta la potenza dell’API ONLYOFFICE. La nostra vasta libreria di metodi API è la chiave per trasformare le tue idee in realtà. Se hai idee o concetti innovativi, ti invitiamo a condividerli con noi. Il tuo contributo è molto apprezzato e siamo entusiasti della possibilità di collaborare con te. Buona fortuna per i tuoi sforzi esplorativi!